WM_Setfont nicht verfügbar?????
-
Am besten du machst es so:
In deiner Klasse machst du eine Member-Variable vom Typ
CFont:class CMyClass : public CDialog { // blabla CFont m_MyFont; };
Um den Default-Font eines Controls ein wenig zu ändern (z.B. auf Fett zu stellen),
kannst du das machen:
(pEdit ist ein Zeiger auf dein Edit-Control)BOOL CMyClass::OnInitDialog() { // blabla CFont *pFont = pEdit->GetFont(); LOGFONT LogFont; pFont->GetLogFont(&LogFont); // Bold setzen LogFont.lfWeight = FW_BOLD; m_MyFont.CreateFontIndirect(&LogFont); // Neuen Font zuweisen pEdit->SetFont(&m_MyFont, TRUE); return TRUE; }
-
hallo source,
ich habe es gemacht wie von dir beschrieben...
leider kommt aber die Meldung das sich SetFont in einer
Klasse/Struktur/Union befinden muss!!!!membervariable erstellt und den unteren geposteten code dann
in die OninitDialog...????? hilfeeeee
-
Zeigt pEdit auf dein EditControl?
CEdit *pEdit = (CEdit*)GetDlgItem(IDC_EDIT1); // Oder wie auch immer
IDC_EDIT1 durch die ID deines Edit-Controls ersetzen.
-
ja er zeigt auf mein EditControl...
habe ich gerade auch nochmal kontrolliert...zur kontrolle :
Den letzten geposteteten Code habe ich im EditControl ist das ok???
wodrann kann es denn noch liegen...????
-
Den letzten geposteteten Code habe ich im EditControl ist das ok???
Wie meinst du das? Poste mal ein paar relevante Codeausschnitte.
-
class SYSTEM10Dlg : public CDialog { CFont m_MyFont; }; und der OnInitDialog BOOL SYSTEM10Dlg::OnInitDialog() { CDialog::OnInitDialog(); // Hinzufügen des Menübefehls "Info..." zum Systemmenü. // IDM_ABOUTBOX muss sich im Bereich der Systembefehle befinden. ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX < 0xF000); CMenu* pSysMenu = GetSystemMenu(FALSE); if (pSysMenu != NULL) { CString strAboutMenu; strAboutMenu.LoadString(IDS_ABOUTBOX); if (!strAboutMenu.IsEmpty()) { pSysMenu->AppendMenu(MF_SEPARATOR); pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); } } { // blabla CFont *pFont = betrag->GetFont(); LOGFONT LogFont; pFont->GetLogFont(&LogFont); // Bold setzen LogFont.lfWeight = FW_BOLD; m_MyFont.CreateFontIndirect(&LogFont); // Neuen Font zuweisen betrag->SetFont(&m_MyFont, TRUE); return TRUE; }
bei diesem Code kommt dann der Fehler....
-
Wenn du den Code korrekt gepostet hast, dann stimmt da was mit deinen Klammern nicht. Abgesehen davon: von welchem Typ ist "betrag"?
-
morgen,
ja das mit den klammern ist nicht schlimm dadrunter ist noch mehr kramm der aber für mein problem nicht relevant ist....
betrag hat die variable value vom typ double...???????
-
betrag hat die variable value vom typ double...???????
Du benötigst eine Variable vom Typ CEdit*. So wie ich es auch geschrieben habe:
CEdit *pEdit = (CEdit*)GetDlgItem(IDC_EDIT1);
Du kannst deinem Edit-Control auch per Assistent eine Membervariable vom Typ Control zuweisen. Dann kannst dir die Zeile oben sparen.
-
habs hinbekommen vielen dank für deine hilfe....