1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Win32 EDIT Control

  • djtraumwelt
  • 1. April 2009 um 11:41
  • Unerledigt
  • djtraumwelt
    3
    djtraumwelt
    Mitglied
    Punkte
    85
    Beiträge
    12
    • 1. April 2009 um 11:41
    • #1

    Hab mir n Singleline-Edit-Child-Window gemacht in das ich Text eingeben kann. Bei drücken der Enter-Taste soll der Text nun abgeschickt werden. Problem ist, dass bei drücken der Enter-Taste nix passiert. Hab mir noch n DEFPUSHBUTTON dazu gemacht, wenn ich den anklicke, dann schickt er den Text ab, das funktioniert einwandfrei. Was ich jetzt bräuchte, wär ne Idee, wie der Button automatisch gedrückt wird, wenn im Edit-Window "reingeEntert" wird, bzw. müsste ich überhaupt mal rausfinden, wann der User "reinEntert".

  • djtraumwelt
    3
    djtraumwelt
    Mitglied
    Punkte
    85
    Beiträge
    12
    • 2. April 2009 um 05:10
    • #2

    Habs inzwischen geschafft:

    Code
    GetClassInfo(NULL,"EDIT",&wc);
       OldWndProc=wc.lpfnWndProc;
       wc.lpfnWndProc=EditProc;
       wc.hInstance=hInst;
       wc.lpszClassName="EDIT";
       RegisterClass(&wc);
       hEdit=CreateWindowEx(WS_EX_CLIENTEDGE,"EDIT","",WS_CHILD | WS_BORDER | ES_AUTOHSCROLL | ES_LEFT,10,WINHGT-24,WINWID-20,24,hWnd,(HMENU)1,hInst,0);
       ShowWindow(hEdit,SW_SHOW);
       SendMessage(hEdit,EM_SETLIMITTEXT,999,0);
    Code
    LRESULT CALLBACK EditProc (HWND hEditProc, UINT msg, WPARAM wParam, LPARAM lParam) {
    
    
     if (locker==0)
     if (msg==WM_KEYDOWN) {
      if (wParam==VK_RETURN) {
       mess[0]=3;
       mess[1]=231;
       mpos=SendMessage(hEdit,EM_GETLINE,0,(LPARAM)mess);
       mess[mpos]=0;
       comsig=1;
       SendMessage(hEdit,EM_SETSEL,0,-1);
       SendMessage(hEdit,EM_REPLACESEL,TRUE,(LPARAM)(LPCTSTR)"");
       return 0;
      }
      if (wParam == VK_UP) {
       ofn.lStructSize=sizeof(OPENFILENAME);
       ofn.hwndOwner=glob;
       filter[0]='*';
       filter[1]='.';
       filter[2]='*';
       filter[3]=0;
       filter[4]='*';
       filter[5]=0;
       filter[6]=0;
    
    
       ofn.lpstrFilter=filter;
       ofn.lpstrCustomFilter=NULL;
       ofn.nFilterIndex=0;
       filename[0] = 0;
       ofn.lpstrFile=filename;
       ofn.nMaxFile=660;
       ofn.lpstrFileTitle=filetitle;
       ofn.nMaxFileTitle=400;
       ofn.lpstrInitialDir=NULL;
       ofn.lpstrTitle=NULL;
       ofn.Flags=OFN_EXPLORER;
       ofn.lpstrDefExt=NULL;
       if (GetOpenFileName(&ofn)!=0)
        comsig=2;
       return 0;
      }
     }
    
    
     return CallWindowProc(OldWndProc,hEditProc,msg,wParam,lParam);
    }
    Alles anzeigen
  • Maximilian Rupp 27. Dezember 2024 um 00:26

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Benutzer online in diesem Thema

  • 1 Besucher

Rechtliches

Impressum

Datenschutzerklärung