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.

    Coding-help



  • 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 setzen
    

    ich 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 setzen
    

    Wenn 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 🙂


Anmelden zum Antworten