Difference between revisions of "MFC"
(→Ændre stilen) |
|||
Line 1: | Line 1: | ||
+ | ==Data til og fra dialog-controls== | ||
+ | |||
+ | I MFC vil man typisk ikke aflæse dataene direkte fra objecterne. I stedet for vil man have en en variabel som man bruger til udveksle data mellem control og programkode. Dataene udveksles mellem program og dialogboks når at man kalder funktionen UpdateData(); denne funktion modtager en parameter i form af en boolean som fortæller om data skal fra program til dialogboks eller omvendt; | ||
+ | |||
+ | //Sender data fra variablen til dialogboksen | ||
+ | UpdateData( false ); | ||
+ | |||
+ | //Opdaterer variablen med data fra dialogboksen, dvs. brugerens input | ||
+ | UpdateData( true ) | ||
+ | |||
==Ændre stilen== | ==Ændre stilen== | ||
Line 5: | Line 15: | ||
this->ModifyStyle(0, WS_SYSMENU); | this->ModifyStyle(0, WS_SYSMENU); | ||
− | ==Ændre | + | ==Ændre control udfra ID== |
− | Når at man i VC++ laver programmer med dialogeditoren, kan man i sin kode bruge GetDlgItem() til at hente en reference til et givent | + | Når at man i VC++ laver programmer med dialogeditoren, kan man i sin kode bruge GetDlgItem() til at hente en reference til et givent control. Læg mærke til at funktionene returnerer en pointer til et CWnd object. |
Herefter kan man f.eks. skjule et object med: | Herefter kan man f.eks. skjule et object med: |
Revision as of 13:06, 29 March 2006
Data til og fra dialog-controls
I MFC vil man typisk ikke aflæse dataene direkte fra objecterne. I stedet for vil man have en en variabel som man bruger til udveksle data mellem control og programkode. Dataene udveksles mellem program og dialogboks når at man kalder funktionen UpdateData(); denne funktion modtager en parameter i form af en boolean som fortæller om data skal fra program til dialogboks eller omvendt;
//Sender data fra variablen til dialogboksen UpdateData( false ); //Opdaterer variablen med data fra dialogboksen, dvs. brugerens input UpdateData( true )
Ændre stilen
Hvis du i programmet har brug for at ændre indstillinger for din dialogbox kan det gøres med ModifyStile (kan f.eks. kaldes fra OnInitDialog() ). (Følgende kode tilføjer Icon+luk krydset til titlebaren)
this->ModifyStyle(0, WS_SYSMENU);
Ændre control udfra ID
Når at man i VC++ laver programmer med dialogeditoren, kan man i sin kode bruge GetDlgItem() til at hente en reference til et givent control. Læg mærke til at funktionene returnerer en pointer til et CWnd object.
Herefter kan man f.eks. skjule et object med:
GetDlgItem(IDC_HANDLE)->ShowWindow( false );
eller man kan disable det med
GetDlgItem(IDC_HANDLE)->EnableWindow( false );
Hvis at man skal bruge nogle specifikke funktioner for f.eks. en comboboks kan man lave en type cast på pointeren (her fjernes alle elementer fra boksen):
CComboBox *com = (CComboBox*) GetDlgItem(IDC_HANDLE); com->ResetContent();