Newsgroup: it.comp.programmare.win32
Titolo: VC++6 e finestre

Salve a tutti,
sto muovendo i primi passi nella programmazione delle API di windows. 
Una cosa non mi è però chiara, e spero che sia un dubbio da niente... in 
tutti i libri che ho consultato finora, viene spiegato come 
inizializzare e creare una finestra principale per il programma, e poi 
da questa, tramite menu o pulsanti vari, si aprono finestre di dialogo o 
cose simili. Ora, creare una dialog box risulta estremamente semplice, 
soprattutto graficamente (uso VC++ 6), ma il mio problema è che vorrei 
creare controlli del tipo textbox, combobox, label eccetera sulla 
finestra *principale*. Un po' come fanno tutti i programmi, ad esempio 
IE tanto per dirne uno, quando lo si apre si vede nella finestra un 
menù, una textbox dove inserire gli indirizzi, un campo dove viene 
visualizzata la pagina web, eccetera.
Facendo qualche esperimento, ho previsto nel caso WM_CREATE della 
finestra principale la creazione di alcuni controlli di tipo edit, ma la 
cosa diventa complicata, visto che bisogna settare le proprietà di ogni 
controllo (altezza, larghezza, tipo, posizione, ecc) a mano. Davvero non 
esiste niente di più facile ed intuitivo?
Inoltre, con una riga del tipo:
hWndText = CreateWindow("EDIT", NULL, WS_CHILD | WS_VISIBLE | 
ES_READONLY, 10, 10, 320, 20, hWnd, (HMENU) ID_TEXT_1, (HINSTANCE) 
GetWindowLong(hWnd, GWL_HINSTANCE), NULL);
creo una casella dentro la finestra principale dove posso scrivere del 
testo, ma con un bruttissimo bordo nero.. è possibile creare un'area di 
testo come quelle "standard" di windows? (ovvero con i bordi che diano 
un effetto di profondità, dalle dimensioni standard, ecc.)
Scusate la prolissità, e un grazie anticipato a tutti!
-- 
Andrea

 ha scritto nel messaggio
news:gJsHc.11059$tj3.5...@news3.tin.it...

Guarda io uso c++ builder della borland e penso che come tutti gli ambienti
di questo tipo è difficile che ti trovi a creare oggetti a manina come fai
tu, ovvero si puo pure fare ma richiederebbe troppo tempo e per questo
esistono dei componenti standard che ti offre l'ambiente e altri di terze
parti che puoi acquistare o scaricare, cmq nn ricordo di preciso come
funziona VC++ ma vedi che dovresti trovare tutti i componenti che hai
menzionato.
ps : giusto la mia opinione, se sei alle prime armi ti consiglio di passare
al c++ builder di borland ti potresti trovare meglio.
Ciao
Antonio.

 al c++ builder di borland ti potresti trovare meglio.
Grazie per il consiglio, ma mi sembra un po' drastica come soluzione... 
tutto quello di cui ho bisogno è un piccolo consiglio, o magari ancora 
meglio il codice per creare una finestra (e una sola) con 3-4 caselline 
di testo, combo box, immagini eccetera.
Come soluzione finale, adotterò il c++ builder... anche se tutte le 
guide che ho citano espressamente il vc++ della ms.
Grazie comunque!
-- 
Andrea

 ha scritto nel messaggio
news:gJsHc.11059$tj3.5...@news3.tin.it...

Allora, semplice ho dato uno sguardo e ti dico un po i passi da seguire,
aperto vc++ fai
file->new->MFC AppWizard(exe) (assegni un nome al progetto) poi fai OK dopo
di che ti si apre una finestra fai sempre Next ed infine Finish poi vai
sulla toolbar e fai Insert->NewForm Gli assegni un nome e ti appare un form
con una palette in cui ci sono i componenti e quindi quello che ti serve,
sinceramente sono pochi i componenti che vedi se te ne servo altri nn so se
li devi scaricare o aggiungere in qualche modo io nn lo uso vc++ quindi n
saprei dirti.
ps : la scelta di passare a c++ builder nn era una soluzione al tuo problema
ma un consiglio o almeno la mia opinione perchè come ambiente lo vedo
migliore e anche l'ide è abbastanza buona per nn parlare dei tools che ti
mette a disposizione,ma se preferisci vc++ come dire...ognuno ha i suoi
gusti,cmq spero di esserti stato d'aiuto.
Ciao
Antonio.

 gusti,cmq spero di esserti stato d'aiuto.
Naturalmente, e ti ringrazio per le tue risposte. Tra poco potrò dare 
un'occhiata al c++ builder e ti saprò dire; grazie per l'interessamento 
intanto :)
-- 
Andrea

problema che sembrava così banale non abbia ancora una soluzione :'(
Beh anche con C++ Builder e' la stessa cosa che usare le MFC (ovvero
non usi le api pure).
Inoltre la libreria del Builder e' la stessa del Delphi ,ovvero VCL,
per cui se usavi delphi puoi usare anche il builder .
Per rispondere al tuo problema ,se proprio non vuoi fare tutto a mano
nessuno ti vieta di usare una dialog come finestra principale della
tua applicazione.


Cmq in ogni modo io nn conosco le mfc ma penso che programmare con le api nn
sia cosa buona e giusta.Ovviamente questa č la mia opinione e tale resta.
Antonio.

 visualizzata la pagina web, eccetera.
sai che non ho capito una ceppa?
una applicazione puň essere dialog, ovvero una finestra con una serie di 
controlli tipo caselle di testo e pulsanti
sdi, ovvero uan finestra con dentro una vista dove usualmente si 
visualizza il documento che l'applicazione gestisce
mdi, come sopra perň l'app gestisce piů documenti
se ho ben capito tu vuoi fare una applicazione senza paradigma 
documento/vista ovvero con solo pulsanti, etichette di testo, etc?
beh se usi il visualc++ niente di piů facile (idem per il c++builder che 
perň ho usato pochissimo)
la tua applicazione istanzia una dialog prendendola da un template 
grafico disegnabile attraveso gli strumenti visuali
la tua dialog č la finestra principale della applicazione e puoi 
metterci menu e controlli