Schriftgrösse im editfeld ?
-
Wie kann ich die Schrift in einem Editfeld bold und in größe 14 darstellen ?
-
schau mal hier rein. Vllt. findest du was, dass die helfen kann. Ich weiß nicht, ob man im Editfeld eine schriftgröße vorgeben kann.
-
da hatte ich schon geschaut. nichts brauchbares. textfelder ja. editfelder werden leider nicht beschrieben.
-
Das müsste doch auch mit SetFont gehen.
*such* ...ah da: http://www.c-plusplus.net/forum/viewtopic-var-t-is-39043.html
-
suppa. vielen dank.
-
ich hab mir mal diesen code vorgenommen:
CFont schrift; CString ABCDE ="Arial"; void RechenoptionDlg::OnPaint() { CPaintDC dc(this); schrift.CreateFont(24, 0, 0, 0, FW_NORMAL, 0, 0, 0, DEFAULT_CHARSET, OUT_CHARACTER_PRECIS, CLIP_CHARACTER_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_DONTCARE, ABCDE); CEdit *ed=(CEdit*)GetDlgItem(IDC_Anmeldename); ed->SetFont(&schrift);//nur vom Edit-Feld setzenich hab nun aber mehrere editfelder und löse das dann so :
. . . CEdit *ed=(CEdit*)GetDlgItem(IDC_Anmeldename); ed->SetFont(&schrift);//nur vom Edit-Feld setzen CEdit *ed2=(CEdit*)GetDlgItem(IDC_Anmeldename2); ed2->SetFont(&schrift);//nur vom Edit-Feld setzen CEdit *ed3=(CEdit*)GetDlgItem(IDC_Anmeldename3); ed3->SetFont(&schrift);//nur vom Edit-Feld setzen . . .geht das nicht auch einfacher und sauberer ?
Edit by Estartu: Code-Tags in Cpp geändert wegen Überbreite.
-
Naja, ein wenig vereinfachen kann man da noch.

Du musst nicht immer einen neuen Zeiger nehmen und ein Cast ist nicht nötig da ein CWnd* reicht.CWnd *ed=GetDlgItem(IDC_Anmeldename); ed->SetFont(&schrift);//nur vom Edit-Feld setzen ed=GetDlgItem(IDC_Anmeldename2); ed->SetFont(&schrift);//nur vom Edit-Feld setzen ed=GetDlgItem(IDC_Anmeldename3); ed->SetFont(&schrift);//nur vom Edit-Feld setzenWenn man das dann so anguckt und dran denkt, das IDC_blabla ja nur ein UINT ist, dann kann man überlegen, die IDC noch in ein const Array zu stecken und da drüber eine Schleife zu legen. Aber das lohnt nur, wenn es wirklich viele Edits sind.
Man kann sich übrigens auch den aktuellen Font erfragen und diesen nur etwas abändern.

Den Code dazu kann ich dir aber erst Morgen zeigen.
-
Wäre super. danke
-
CWnd* pWnd = GetDlgItem(IDC_Anmeldename); LOGFONT lf; CFont* font = pWnd->GetFont(); if (font) { font->GetLogFont(&lf); lf.lfWeight = FW_BOLD; // Fett machen m_fontFett.CreateFontIndirect(&lf); }Die Größe muss damit eigentlich auch gehen, aber ich denke, das findest du jetzt raus.

-
vielen dank
