Newsgroup: it.comp.lang.c++
Titolo: Aiuto PLEAse !!

Ciao a tutti. 
Qualcuno potrebbe aiutarmi facendomi capire come faccio a creare una semplice 
finestra grafica in cui poter disegnare con la classica LineTo e MoveTo con il 
Visual C++ 5.0 senza utilizzare le mfc. Sarei molto grato a tutti se mi 
rispondesta al seguente indirizzo: 
maur...@mbox.vol.it
Grazie in anticipo

Visual C++ 5.0 senza utilizzare le mfc. Sarei molto grato a tutti se mi
Mah, la natura dei tuoi dubbi non mi e` molto chiara... con qualsiasi
compilatore C o C++, su Windows, se non usi un framework ovvero
libreria, si fa piu` o meno allo stesso modo (a parte che su Win32 si
usa MoveToEx e non MoveTo, ma sono minuzie), ovvero, tanto per
fare il solito esempio scemo -- chiediamo al Visual Studio di farci un
nuovo progetto di tipo applicazione Win32, in esso poi gli chiediamo
di farci un file sorgente C++ chiamato esempio.cpp, in cui scriviamo
qualcosa come:
#include <windows.h>
// dichiarazione forward della window procedure
LRESULT CALLBACK
WindowProc(HWND hWnd, UINT wMsg, WPARAM wParam, LONG lParam);
// l'entry point di qualsiasi programma Windows:
int WINAPI WinMain(HANDLE hInstance, HANDLE, LPSTR, int nShow)
{
// 1. definire la classe
    WNDCLASS wndClass;
    memset(&wndClass, 0, sizeof(wndClass));
    wndClass.hInstance     = hInstance;
    wndClass.lpfnWndProc   = WindowProc;
    wndClass.hbrBackground = GetStockObject(WHITE_BRUSH);
    wndClass.lpszClassName = "Esempio";
    if(!RegisterClass(&wndClass))
        return FALSE;
// 2. fare la finestra
    HWND mywin = CreateWindow("Esempio", "Finestra d'esempio",
        WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN,
        CW_USEDEFAULT,CW_USEDEFAULT,
        CW_USEDEFAULT,CW_USEDEFAULT,
        NULL,NULL,hInstance,NULL);
    if(!mywin) return FALSE;
    ShowWindow(mywin,nShow);
    UpdateWindow(mywin);
// 3. il loop degli eventi
    MSG msg;
    while(GetMessage(&msg,NULL,0,0)) {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
    return msg.wParam;
}
// infine la window procedure:
LRESULT CALLBACK
WindowProc(HWND hWnd, UINT wMsg, WPARAM wParam, LONG lParam)
{
    switch(wMsg)
    {
        case WM_PAINT: {
            HDC         hDC;
            PAINTSTRUCT ps;
            if(hDC = BeginPaint(hWnd, &ps)) {
                MoveToEx(hDC, 100, 100, 0);
                LineTo(hDC, 200, 200);
                EndPaint(hWnd, &ps);
            }
        }
        break;
        case WM_DESTROY:
            PostQuitMessage(0);
            break;
        default:
            return DefWindowProc(hWnd, wMsg, wParam, lParam);
        }
        return 0;
}
Questo fa un finestroide con una righetta nera su fondo
bianco... non e` proprio una gran scienza.  Spiegaci magari
meglio cosa, di questo esempio banale, non ti funziona.
Alex

usa MoveToEx e non MoveTo, ma sono minuzie), ovvero, tanto per
Molte funzioni di win32 sono con e senza Ex finale. Qual e' la
differenza tra Pippo() e PippoEx()?

differenza tra Pippo() e PippoEx()?
Nessuna, infatti nessuna delle due esiste nelle API...:-).
Piu` in generale, la versione ...Ex(), quando esiste, e` sempre
progettata successivamente a quella base, a cui aggiunge
feature e/o di cui corregge difetti.  Nel dubbio, meglio quindi
usare la ...Ex() che non la versione base.
Alex

> 
http://www.geocities.com/sunsetstrip/stage/7787
 <<
<<<<<<<<<<<< _
Metal...@iol.it
 >>>>>>>>>>>>>>
(remove asterisk to reply)