Domanda di orientamento per principianti WINAPI

0

Sto imparando a sviluppare applicazioni Windows usando WINAPI e C. semplice Ora mi sono un po 'confuso con tutte quelle maniglie e vorrei chiedere se voi ragazzi potreste insegnarmi alcune buone pratiche per strutturare e gestire controlli e finestre.

Ecco dove mi confondo:

Usando gli ID dichiarati nelle risorse per ogni oggetto, possiamo ottenere i loro handle usando GetDlgItem (). Ora cosa succede se non conosciamo il loro genitore, che è necessario per questa funzione.

Un esempio: abbiamo la finestra principale creata al momento del lancio. Quindi registriamo due nuove classi di finestre e creiamo una finestra per ogni nuova classe e creiamo anche una funzione di messaggio. Ora se all'interno di una delle finestre per bambini creo un pulsante e all'interno della finestra di un altro figlio creo un'etichetta di testo. Ora quando clicchiamo sul pulsante all'interno della finestra secondaria A, l'etichetta nella finestra secondaria B deve essere modificata in qualsiasi modo.

Il WM_COMMAND per il pulsante è interpretato all'interno del ciclo del messaggio per la finestra figlio A. Ora quale sarebbe il modo migliore e più elegante per accedere all'etichetta di testo all'interno della finestra secondaria B?

Sono in procinto di imparare WINAPI e voglio solo impararlo fin dall'inizio invece di produrre codice Hacked che un giorno diventerà illeggibile e in seguito dovrò adattarmi a un nuovo modo di programmare.

Non c'è davvero nessuno in grado di darmi un consiglio?

    
posta gekod 14.09.2012 - 14:28
fonte

2 risposte

1

Circa un anno fa mi sono imbattuto in un libro al lavoro che stava per essere gettato via. Era chiamato Windows Wisdom: per programmatori C e C ++ ISBN: 0471940046

Il libro presenta un problema e quindi fornisce una serie di approcci e soluzioni diversi al problema. Se fosse pubblicato oggi, molto probabilmente si chiamerebbe "Ricette WINAPI" o "Ricettario WINAPI". È quel tipo di libro.

Il libro è esaurito ma dovresti riuscire a trovare una copia usata a basso costo.

Invece di rigurgitare il contenuto del libro, volevo indicarti la fonte. Credo che possa fornire la guida generale che stai cercando.

    
risposta data 14.09.2012 - 16:30
fonte
0

La prima cosa da tenere a mente quando si scrivono programmi per Windows usando l'API Plain Old Win32 è che ogni controllo sullo schermo è un WINDOW a se stante. Il che significa che ognuno ha le proprie "MANIGLIE" e simili. Penso che stai usando una facile via creando controlli su un DialogBox usando l'editor Win32 RES (che va bene per un principiante). Ma quando si entra in una programmazione più avanzata su Win32, suggerirei di utilizzare la funzione CreateWindow ().

Per rispondere alla tua domanda, potresti semplicemente ottenere l'handle del controllo in questo modo: funzione GetDlgItem (HWND hParent, int nIDDLGITEM) e SetWindowText () su di essa. Assicurati che l'etichetta Statico abbia la proprietà SS_LEFT.

    
risposta data 20.09.2012 - 19:02
fonte

Leggi altre domande sui tag