Forum: PC-Programmierung Schriftgrößen in Dialogboxen, Scanner und Editfeld


von Karlheinz Druschel (Gast)


Lesenswert?

Hi Leuts,

hat jemand eine Ahnung, wie ich die Schriftgroessen in Dialogboxen 
(statischer Text und Editfelder) beim Visual Studio 2003.net ändern kann 
?
Muß ich da immer eine Controlvariable anlegen und mit CreateFont und 
SetFont arbeiten ?

Meine zweite Frage ist folgende:
Ich habe einen Scanner der in die Tastaturleitung eingeschleift ist. 
Diese eingescannten Werte sollen in einem Editfeld angezeigt. geht auch 
(fast).
Das Problem ist, dass der Scanner immer ein <CR> anhängt, und der 
Scanner nicht umkonfiguriert werden darf!!!
Aber das <CR> löst logischerweise bei meiner Dialogfeldanwendung einen 
Druck auf den Default-Button aus, und damit terminiert die Software. 
Kann man das verhindern ?
Die Eigenschaft "<Enter> wird benötigt" habe ich beim Editfeld schon auf 
True gesetzt, bringt aber nichts....



Greets
Karlheinz

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

a) lässt sich auch mit Windows-Bordmitteln lösen, mal angenommen, Du 
verwendest noch eine normale Programmiersprache und nicht diese 
Microsoft-Perversion namens "managed C++". Wie und ob es bei der geht, 
weiß ich nicht und ich will es auch gar nicht wissen.

Du kannst an jedes Fenster (und ein Editcontrol ist genauso ein Fenster 
wie ein Statischer Text) Windows-Nachrichten senden.

MFC:

  GetDlgItem(ID_IRGENDWAS)->SendMessage(WM_SETFONT, ...);

Win32-API:

  HWND hWnd;

  hWnd = GetDlgItem(hDlg, ID_IRGENDWAS);

  if (hWnd)
    SendMessage(hWnd, WM_SETFONT, ...);


b) Ist das Editcontrol mit "WantReturn" auch mehrzeilig? Und hat es den 
Focus?

Davon abgesehen kannst Du natürlich die "Default"-Eigenschaft des 
OK-Knopfes Deines Dialoges entfernen, das lässt der Dialogeditor zu.

von Karlheinz Druschel (Gast)


Lesenswert?

1000Dank,

habe es fast am Laufen. Jetzt muß ich nur noch irgendwie herrausfinden, 
wie ich einen Handler einfüge wenn im Editfeld ein <CR> auftaucht.



Greets
Karlheinz

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.