Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

eugler

Frischling

  • »eugler« ist der Autor dieses Themas

Beiträge: 26

Beruf: Student

  • Private Nachricht senden

1

23.11.2007, 11:03

EditBox entsprechend einer Radiobuttonw-Wahl readonly setzen

hi,
bin verzeifelt am versuchen, ein paar meiner editboxen entsprechend einer radiobutton-wahl auf readonly zu setzen. leider ohne erfolg. hab bisher versucht via sendmessage(hwnd, ES_READONLY, 1, 0) den schreibschutz zu setzen. wenn ich dies im Intitdlg mache, funktioniert das nicht, da ich vermutlich nicht das richtige handle habe. wie bekomme ich denn das handle meiner editbox? habe bisher bei meinen checkboxen das so gemacht: meinhandly = (hWnd)lParam;
ist aber scheinbar so nicht auf editboxen übertragbar. wäre super, wenn mir jemand weiterhelfen könnte.

thnx & greetz

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

2

23.11.2007, 11:15

Zitat von »"eugler"«

wie bekomme ich denn das handle meiner editbox?


http://msdn2.microsoft.com/en-us/library/ms645481.aspx

eugler

Frischling

  • »eugler« ist der Autor dieses Themas

Beiträge: 26

Beruf: Student

  • Private Nachricht senden

3

23.11.2007, 12:33

vielen dank, aber leider hab ich noch irgendwo nen fehler drin. hab mir jetzt das handle geholt und versucht im initdlg die box readonly zu setzen mit:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
HWND Ed1;
[...]
LRESULT CALLBACK DlgSettProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
    switch(uMsg)
    {
    case WM_INITDIALOG:
            SendMessage(Ed1, EM_SETREADONLY, 1 ,0L);
        case WM_COMMAND:
        switch(LOWORD (wParam))
        {
        case IDC_EDIT1: 
            Ed1 = GetDlgItem(hWnd, IDC_EDIT1);
                 }
          [...]


irgendeine idee, was ich falsch mache? ich finds einfach nicht...

EDIT: ich habs! mit
SendDlgItemMessage(hWnd, IDC_EDIT1, EM_SETREADONLY, 1, 0);
scheint es zu gehen... und das handle der editbox brauche ich dann scheinbar auch nicht mal.

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

4

23.11.2007, 13:06

Du hast übrigens auch ein "break" für deinen WM_INITDIALOG vergessen!
@D13_Dreinig

eugler

Frischling

  • »eugler« ist der Autor dieses Themas

Beiträge: 26

Beruf: Student

  • Private Nachricht senden

5

23.11.2007, 13:31

oh... ja des ist beim kopieren aus meinem code verloren gegangen. bei mir stehts zum glück drin. :D

Werbeanzeige