Discussione:
Finestra con pulsanti WinApi32
(troppo vecchio per rispondere)
NERO23
2013-10-28 14:37:56 UTC
Permalink
Per creare una semplice finestra con le winapi ho letto che si deve
utilizzare la funzione CreateWindowEx().

Per creare una finestra con sopra un pulsante. ho trovato alcuni esempi
che utilizza la funzione CreateDialog() (con l'aggiunta dei file .rc e .h).

Successivamente ho trovato un esempio del tipo:


window = CreateWindow (
"defaultClass",
"Window!!",
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
450,
350,
(HWND) NULL,
(HMENU) NULL,
hInstance,
NULL
);

if (!window)
{
return 1;
}

button = CreateWindow (
"Button",
"Hello!",
WS_CHILD|
WS_VISIBLE,
20,
20,
60,
40,
window,
BUTTON,
hInstance,
NULL
);

if (!button)
{
return 2;
}

ShowWindow(window, SW_SHOW);
UpdateWindow(window);




In base a che cosa si sceglie un metodo anzichè un altro?
Io devo realizzare una finestra con circa 500 pulsanti. Cosa mi conviene
fare?


Sul alcunio file file .rc trovo BEGIN e su altri la classica parentesi
graffa. C'è una differenza?

Ciao

nero23
acc
2013-10-28 21:10:28 UTC
Permalink
Post by NERO23
In base a che cosa si sceglie un metodo anzichè un altro?
Con un editor di risorse puoi "disegnare" la finestra (stile CAD) e i
relativi controlli (pulsanti, menu, bitmap, icone, ecc.), stesso
discorso quando andrai a modificare il layout.
Questo agevola parecchio lo sviluppo, perche' il relativo codice viene
generato automaticamente.
Post by NERO23
Io devo realizzare una finestra con circa 500 pulsanti. Cosa mi conviene
fare?
Il limite e' dato dal fatto che usando il resource editor, dovrai
prevedere dimensioni e coordinate fisse, mentre creando i controlli in
runtime avrai piu' liberta' (ma al prezzo di una notevole complessita').

In realta' non e' del tutto vero che il metodo manuale ti consente piu'
liberta', dal momento che puoi benissimo usare il resource editor per
disegnare i controlli e poi ridefinirli totalmente, ad esempio come
dimensioni e posizione.
Questo non e' molto diverso dal disegnarli in runtime, ma col vantaggio
di sfruttare l'editor per gestire tutte quelle proprieta' che non devono
cambiare (ad es. font, colori, stili, ecc.).
Post by NERO23
Sul alcunio file file .rc trovo BEGIN e su altri la classica parentesi
graffa. C'è una differenza?
No, BEGIN/END era il metodo vecchio, ma puoi usare quello che ti pare.
NERO23
2013-10-30 17:11:43 UTC
Permalink
Post by acc
Con un editor di risorse puoi "disegnare" la finestra (stile CAD) e i
relativi controlli (pulsanti, menu, bitmap, icone, ecc.), stesso
discorso quando andrai a modificare il layout.
Questo agevola parecchio lo sviluppo, perche' il relativo codice viene
generato automaticamente.
Esiste un IDE che mi permette di disegnare finestre con sopra i pulsanti
con le WinApi32? Per intenderci stile Visual Studio?

Io uso CodeBlocks, a parte la finestra iniziale, tutto il resto dei
componenti li devi inserire via codice...

Forse mi sfugge qualcosa??

ciao

Continua a leggere su narkive:
Loading...