http://alpha-thema-online.uv.ro
Fa-ti si tu propriul forum, pe www.myforum.ro!
Pagina de start a forumului http://alpha-thema-online.uv.ro Autentificare Inregistrare FAQ Membri Cautare

Pagina de start a forumului http://alpha-thema-online.uv.ro » C / C++ / C# » MFC Tips - Common Dialogs
Creaza un subiect nou  Raspunde la subiect Subiectul anterior :: Subiectul urmator 
MFC Tips - Common Dialogs
MesajTrimis: 19/07/2007 16:18 Raspunde cu citat (quote)
Ad_Infinitum
Administrator
Administrator
Ad_Infinitum
Data inscrierii: 23/Iun/2007
Mesaje: 212




Cum "controlez" un control dintr-un common dialog?

Problema
Am un dialog comun, sa zicem "File Open" si vreau (doar un exemplu), sa schimb textul unui control tip static.
Pare simplu, nu trebuie decat sa derivez din CFileDialog, sa suprascriu functia OnInitDialog iar acolo apelez GetDlgItem si SetWindowText sau direct SetDlgItemText (ID-ul controlului l-am gasit cu Spy++).
Nu merge. GetDlgItem intoarce NULL iar SetDlgItemText nu transforma perfect nimic.

Rezolvare
De fapt, clasele derivate din CComonDialog (CFileDialog, CFontDialog, CColorDialog, etc) incapsuleaza un child al dialogului comun ce contine controalele. Deci trebuie sa-i gasim mai intai parent-ul.

Exemplu

Citat:


class CMyFileDialog : public CFileDialog
{
// ...
// Overrides
public:
virtual BOOL OnInitDialog();
// ...
};

#include <DLGS.H>
// ...
BOOL CMyFileDialog::OnInitDialog()
{
CFileDialog::OnInitDialog();
// ...
GetParent()->SetDlgItemText(stc3, _T("Ala bala portocala"));
// ...
return TRUE;
}


NOTA: in exemplul de mai sus am folosit ID-ul 'stc3' definit in <DLGS.H>.
Vezi profilul utilizatorului Trimite mesaj privat

MFC Tips - Common Dialogs
 Pagina de start a forumului http://alpha-thema-online.uv.ro » C / C++ / C#
Nu puteti crea un subiect nou in acest forum
Nu puteti raspunde in subiectele acestui forum
Nu puteti modifica mesajele proprii din acest forum
Nu puteti sterge mesajele proprii din acest forum
Nu puteti vota in chestionarele din acest forum
Ora este GMT + 3 ore  
Pagina 1 din 1  

  
  
 Creaza un subiect nou  Raspunde la subiect  


Fa-ti si tu propriul forum GRATUIT, pe www.myforum.ro
    Powered by phpBB © 2001-2004 phpBB Group. phpBB Skin by Vjacheslav Trushkin.