Newsgroup: it.comp.programmare.win32
Titolo: Salve, colorazioni e variabili trasmesse...

Salve!!
Mi hanno "gentilmente" indicato l'esistenza di questo Forom:
Sono (finalmente) riuscito ad inserire "SetPixel nell'esempio: "Whello"
,
funziona perfettamente! Solo non capisco come colorare lo sfondo della
finestra (con win. son
proprio a "0") e a colorare le linee e i rettangoli che rimangono sempre
neri:
RECT rc = { margine_l, margine_h, l, h }; // COSTRUISCE IL RETTANGOLO
Rectangle(hDC, rc.left, rc.top, rc.right, rc.bottom);
MoveTo(hDC, inp_num-passo, last[y-1]); LineTo(hDC, inp_num, last[y]);
Boh!
La cosa più importante che vorrei fare ora: inserire una barra di
scorrimento orizzontale per visualizzare le immagini che non stanno nella
finestra, è molto complicato?
Dimenticavo: è possiblile passare modificare variabili  (int, char) da un
app  all'altra!
P.S. non siete tenuti a rispondere ( ho notato che i programmatori sono un
po'
burberi! ), soprattutto dicendomi di comprare un libro che peraltro ho ma
non ci capisco un tubo, meglio un esempio!
Ciao a tutti  e grazie.
Fulvio


Ciao ancora.

non ci capisco un tubo
E questa č colpa nostra? O ti applichi seriamente (programmare č un hobby
difficile), o ti dedichi a qualcosa di piů semplice........
Ciao, Giuseppe
---------------------------------------------------------------------------
_Guybrush su IRCNet canale #programmazione
ICQ: 42227764
---------------------------------------------------------------------------

-fare attenzione a non fare l'elefante nel negozio di porcellane.
Mi sei piaciuto :-)


 wrote in message
8neC3.5115$qf3....@typhoon.libero.it...


 wrote in message
8neC3.5115$qf3....@typhoon.libero.it...



 difficile), o ti dedichi a qualcosa di più semplice........


 ma



 simili alle nostre , solo con meno fatica.
Non lo conosco, 3 anni fa ho acquistato turbo c++ con il solo scopo di
elaborare dati e stringhe, e li era molto semplice (il C), solo ora vorrei
qualcosa di più "grafico", sto pensando al VB6 ma mi spiace per i tantissimi
prog, che già ho fatto in "C", e che continuamente uso e modifico.
Io odio le polemiche, e non andrò oltre in queste discussioni nemmeno se mi
insultate, anche perché ho già perso troppo tempo, ora devo vedere gli
esempi in Borland c++ builder 1 se posso ricavare qualcosa.
Ciao a tutti.
Fulvio

 Fulvio
Ciao e a presto!
--
Fabio Carosio [aka King Richard]
e-mail
 
ort...@iol.it
   (my brother's and mine)
 
sigfrid...@iol.it
 (my own mailbox)
ICQ# 38797783
home 
http://persone.digiland.it/1125

 wrote in message
7re3a7$e7f$1...@aquila.tiscalinet.it...


Amici niusgruppari, programmatori seri e faceti, professionisti e
hobbysti... lasciamo perdere... questo qui è il tipico che dice: ah, ho
appena installato VC++ e adesso mi programmo una mia versione di Word. Mi
ricorda me che non ho mai studiato analisi e ciò nonostante provo a
risolvere limiti chilometrici. Passo per passo, tutto diventa semplice, a
patto che i passi siano suff. corti da poterli fare. Ma molti credono che
programmare sia un po' come giocare a campo minato, e si arrabbiano se gli
fai notare che non è così. Perciò mettiamoci in pace, non perdiamo tempo con
chi non se lo merita e torniamo ai nostri task.
Bye,
Lorenzo

Grazie 1000!
Infatti ci sono appena riuscito a colorare tutto, linee e quadri sfondo
delle scritte ora (grazie ad un esempio già pronto) ho anche dei menu e
l'help.
Questo secondo esempio è molto più semplice direi essenziale, purtroppo è
sprovvisto di scroll bar e nel mio turbo non trovo esempi.
Ma ho un dubbio: il secondo esempio non usa  le "CALLBACK" (almeno non le
trovo scritte) il precedente "whello" si! quale sarà meglio usare??
Grazie King.
Questo è quello senza CALLBACK:
// Windows 3.1 Demo Program
// Copyright (c) 1992 by Borland International
#include <windows.h>
#include "chelpm.h"
#include "chelpr.h"
long FAR PASCAL _export WndProc( HWND, WORD , WORD, LONG );
#pragma argsused
int PASCAL WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
     LPSTR lpszCmd, int nCmdShow)
{
  static char szAppName[] = " FURYO T.S" ;
  HWND        hwnd ;
  MSG         msg ;
  WNDCLASS    wndclass ;
  HANDLE   hAccel;
  if (!hPrevInstance)
  {
    wndclass.style         = CS_HREDRAW | CS_VREDRAW ;
    wndclass.lpfnWndProc   = (WNDPROC)WndProc ;
    wndclass.cbClsExtra    = 0 ;
    wndclass.cbWndExtra    = 0 ;
    wndclass.hInstance     = hInstance ;
    wndclass.hIcon         = LoadIcon( NULL, IDI_APPLICATION );
    wndclass.hCursor       = LoadCursor (NULL, IDC_ARROW) ;
    wndclass.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
    wndclass.lpszMenuName  = MAKEINTRESOURCE( CHELPAPMENU );
    wndclass.lpszClassName = szAppName ;
    RegisterClass (&wndclass) ;
 }
 hwnd = CreateWindow (szAppName,
  "Windows Help Example",
  WS_OVERLAPPEDWINDOW,
  CW_USEDEFAULT,
  CW_USEDEFAULT,
  CW_USEDEFAULT,
  CW_USEDEFAULT,
  NULL,
  NULL,
  hInstance,
  NULL) ;
  ShowWindow (hwnd, nCmdShow) ;
  UpdateWindow (hwnd) ;
  hAccel = LoadAccelerators( hInstance,
   MAKEINTRESOURCE( CHELPAPACCEL ) );
  while (GetMessage (&msg, NULL, 0, 0))
  {
  if ( !TranslateAccelerator( hwnd, hAccel, &msg ))
  {
    TranslateMessage (&msg) ;
    DispatchMessage (&msg) ;
  }
  }
  return msg.wParam ;
}
LPSTR lpszClientAreaText = " Questa è una prova";
long FAR PASCAL _export WndProc (HWND hwnd, WORD message, WORD wParam, LONG
lParam)
{
  static BOOL tfF1Pressed = FALSE;
  switch (message)
  {
    case WM_PAINT:
    {
            HPEN hpen, hpenOld;
     LOGBRUSH lb;
     HBRUSH hbr, hbrOld;
     HDC hdc;
     PAINTSTRUCT ps;
                          RECT rect;
     RECT rectClient;
     int nWidth, nHeight;
     hdc = BeginPaint( hwnd, &ps );
     GetClientRect( hwnd , &rectClient );
////////////////////////////////////////////////////////////////////////////
///
    OpenClipboard(hwnd);
    GetClipBox(hdc, rect.bottom);
    CloseClipboard();
    SetPixel(hdc,420,420,0);
                         SetBkColor(hdc, RGB(255, 0, 0));     /* sets color
to red */
                         TextOut(hdc, 20, 10, " FURYO T.S. ", 12);
                         // lb.lbStyle = BS_HATCHED;
                         lb.lbColor = RGB(0, 100, 200);
                         file://lb.lbHatch = HS_BDIAGONAL;
                         hbr = CreateBrushIndirect(&lb);
                         hbrOld = SelectObject(hdc, hbr);
    Rectangle(hdc, 30, 30,  300, 300);
                         hpen = CreatePen(PS_SOLID, 1, RGB(0, 0, 255));
                         hpenOld = SelectObject(hdc, hpen);
    {  MoveTo(hdc, 220, 220 ); LineTo(hdc, 380, 380); }
                         SelectObject(hdc, hpenOld);
                         DeleteObject(hpen);
////////////////////////////////////////////////////////////////////////////
//////
    nWidth = rectClient.right;  // rectClient.left is 0
    nHeight = rectClient.bottom; // rectClient.top is 0
    rectClient.left += (nWidth / 4);
    rectClient.top  += (nHeight / 4);
    rectClient.right -= (nWidth / 6);
           SetBkMode( hdc, TRANSPARENT );
    DrawText( hdc, lpszClientAreaText, lstrlen( lpszClientAreaText ),
    &rectClient, DT_CENTER | DT_VCENTER | DT_WORDBREAK );
    EndPaint( hwnd, &ps );
    }
    break;
    case WM_ENTERIDLE:
    {
     if( (wParam == MSGF_MENU ) &&
      ((GetKeyState( VK_F1 ) & 0x8000) != 0) )
     // The key is down if the high order bit is set.
     {
      tfF1Pressed = TRUE;
      PostMessage( hwnd, WM_KEYDOWN, VK_RETURN, 0L );
     }
    }
    break;
    case WM_COMMAND:
   switch ( wParam )
   {
    case CM_U_MENUITEMA:
    {
     if( tfF1Pressed == TRUE )
     {
      WinHelp( hwnd, "CHELP.HLP", HELP_CONTEXT, HELP_MENUITEMA );
      tfF1Pressed = FALSE;
     } else {
      MessageBox( hwnd, "In Menu Item A command", "C Help Example",
MB_ICONINFORMATION );
     _InitEasyWin(); printf("prova");
     }
    }
    break;
   case  CM_U_MENUITEMB :
   {
    if( tfF1Pressed == TRUE )
    {
     WinHelp( hwnd, "CHELP.HLP", HELP_CONTEXT, HELP_MENUITEMB );
     tfF1Pressed = FALSE;
    } else {
     MessageBox( hwnd, "In Menu Item B Command", "C help Example",
MB_ICONINFORMATION );
    }
   }
   break;
   case CM_U_HELPINDEX:
    WinHelp( hwnd, "CHELP.HLP", HELP_INDEX, 0L );
   break;
   case CM_U_HELPHELP:
    WinHelp( hwnd, "CHELP.HLP", HELP_HELPONHELP, 0L );
   break;
   case CM_U_HELPABOUT:
   MessageBox( hwnd,"CHELP\n\nCopyright (c) 1992 Borland International",
    "About CHELP", MB_ICONINFORMATION );
   break;
   case CM_EXIT:
   if ( tfF1Pressed == TRUE )
   {
    WinHelp( hwnd, "CHELP.HLP", HELP_CONTEXT, HELP_EXIT );
    tfF1Pressed = FALSE;
   } else {
    DestroyWindow( hwnd );
   }
   break;
    }
    break;
    case WM_DESTROY:
      PostQuitMessage (0) ;
      return 0 ;
  }
  return DefWindowProc (hwnd, message, wParam, lParam) ;
}

Grazie per l'offerta!!
Comunque io uso Turbo c++ per win 3.1, il BcB proprio non lo capisco!
I colori e gli sfondi li ho risolti.
Ho anche i menu e l'Help!
Ora devo fare due cose
1) Inserire la scroll bar.
2) Salvare l'immagine della finestra in un file ".gif"
P.S non usa "CALLBACK", "Whello.prj" si! Quale sarŕ meglio usare (questo
sembra piů semplice)!
Ciao e grazie!
Questo č il prog. esempio trovato:




    RegisterClass (&wndclass) ;
 }




LPSTR lpszClientAreaText = " Questa č una prova";
long FAR PASCAL _export WndProc (HWND hwnd, WORD message, WORD wParam, LONG
lParam)
{
  static BOOL tfF1Pressed = FALSE;
  switch (message)
  {
    case WM_PAINT:
    {
            HPEN hpen, hpenOld;
     LOGBRUSH lb;
     HBRUSH hbr, hbrOld;
     HDC hdc;
     PAINTSTRUCT ps;
                          RECT rect;
     RECT rectClient;
     int nWidth, nHeight;
     hdc = BeginPaint( hwnd, &ps );
     GetClientRect( hwnd , &rectClient );
   ////////////////////////////////////////////////////// TEST DI
GRAFICA/////////////////////////
//    OpenClipboard(hwnd);
//    CloseClipboard();
                         SetPixel(hdc,420,420,0);
                         SetBkColor(hdc, RGB(255, 0, 0));     /* sets color
to red */
                         TextOut(hdc, 20, 10, " FURYO T.S. ", 12);
                         // lb.lbStyle = BS_HATCHED;
                         lb.lbColor = RGB(0, 100, 200);


P.s. devo ancora provare Java!
Io ritengo Java più facile del C o del C++ perchè non devi preoccuparti dei
dettagli implementativi del linguaggio quando programmi. Comunque potrebbe
essere solo una mia impressione....
Ciao, Giuseppe
---------------------------------------------------------------------------


 wrote in message
HGPC3.1797$Gd7....@typhoon.libero.it...


 wrote in message
7rhe19$o6g$2...@aquila.tiscalinet.it...


Credo di averlo già fatto! ( bruciare le tappe ) Come ho gìà detto sono
riuscito ad ottenere
il grafico che velevo, anzi molto più di quanto potessi immaginare solo
pochi giorni fa, ora intravvedo altre possibilità (bottoni, ec..)!
Credo che tra qualche mese win. sarà addomesticato, intendo che potro
costruire tutto quello che voglio non certo che saprò tutto!
Java: lo penso anch'io. Ora va bene così poi si vedrà!
Ciao Fulvio.


Non sono obbligato ad usare il 16, anzi mi piacerebbe partire subito col il
32, s mi passi il codice per attivare un Pixel da BcB1 comincio anche con
quello!
Ciao Fulvio.


costruire tutto quello che voglio non certo che saprò tutto!
Quello che vuoi? Se lo trovi negli esempi, altrimenti.......
Ciao, Giuseppe
---------------------------------------------------------------------------


 costruire tutto quello che voglio non certo che saprò tutto!
Se lo credi davvero, sei un ingenuotto senza pari. Altrimenti, sei un
presuntuoso che si diverte ad irritare la gente.
Bye,
Lorenzo