PDA

View Full Version : di nuovo su visual c++ 6


ultio
26-06-2003, 10:07
un'ultima domanda su questo ambiente di lavoro...
ho creato un'applicazione "dialog based", ho inserito i pulsanti per l'ingrandimento della finestra (quelli in alto a destra di qualunque programma), ma non so come fare a spiegargli di ingrandire la finestra aumentando proporzionalmente ogni cosa.
ora se ingrandisco la parte creata dall'ingrandimento rimane grigia senza niente, non è assolutamente quello che volevo :eek: :cry:

cionci
26-06-2003, 11:30
I componenti li devi ingrandire manualmente (intercettando il messaggio di ingrandimento)...

ultio
26-06-2003, 20:34
come faccio a intercettare l'ingrandimento?

cionci
26-06-2003, 21:34
Vai in ClassWizard...selezioni la classe del tuo dialogo...

Vai sulla lista delle funzioni, seleziona e crea WindowProc...

In WindowProc ci scrivi:

if (message == WM_SIZE && wParam == SIZE_MAXIMIZED)
{
m_Bottone.MoveWindow(1,1,100,100);
}

if (message == WM_SIZE && wParam == SIZE_RESTORED)
{
m_Bottone.MoveWindow(1,1,20,20);
}

Ovviamente m_Bottone è ad esempio un CButton che vuoi ridimensionare... Ovviamente devi rilevare anche la risoluzione... Purtroppo non mi ricordo come si fa, ma puoi sempre rilevare la dimensione dell'area client dell'oggetto del dialogo (con GetClientRect) e calcolarti di conseguenza le posizioni e le dimensioni...