eingabezeile einfügen



  • hallo,

    ich möchte in einem erschaffenem Fenster eine Zeile mit Tastatur-Eingabefunktion
    einfügen, wie der in Windows genutzte Rechner (um es später mit
    Rechenbuttons und -funktionen mit Rückgabewert auf die Zeile zu ergänzen).

    Wie erzeugt man eine solche Zeile ?



  • Da nimmst du eine stan d a r t window klasse "edit", (aus der control-library)

    siehste hier:
    http://msdn.microsoft.com/en-us/library/bb775458(VS.85).aspx

    da Beispiele gerne gefragt sind:

    LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
    {
    static HWND hEdit;
    
    ....
    
    switch(message)
    {
    case WM_CREATE:
    {
    hEdit=CreateWindow (
                "edit",         /* Classname */
               "test_messages",       /* Title Text */
               WS_CHILD|WS_VISIBLE|ES_AUTOHSCROLL |ES_LEFT, /* default window */
               10,       /* Windows decides the position */
               10,       /* where the window ends up on the screen */
               40,                 /* The programs width */
               15,                 /* and height in pixels */
              hwnd,        /* The window is a child-window to application */
               NULL,                /* No menu */
               hGlobalInst,       /* Program Instance handler */
               NULL                 /* No Window Creation data */
               );
    ShowWindow(hEdit,SW_SHOWNORMAL);
    
    ...
    return 0;
    }
    case WM_COMMAND:
    
    ..... usw.
    

    Da du evtl. auch den text auslesen und einen einfügen willst, hier noch die proceduren

    char *buffer = NULL;
                int length=GetWindowTextLength(TextInput.getHandle());
                buffer =new char[length+1];
                GetWindowText(TextInput.getHandle(),buffer,length+1);
                buffer[length]='\0';
                string temp="\r\n you had written:\r\n";
                temp+=buffer;
                SendMessage(TextInput.getHandle(),WM_SETTEXT,(WPARAM)1,(LPARAM)temp.c_str());
    

    gruuß



  • zeusosc schrieb:

    stan d a r t

    willsu du die rächtsschraipunk räfomian?
    😃



  • ne wenn ich das wort ausschreibe dann sieht das so aus: standart , genauso wie vor r a u s: vorraus

    greetz



  • wenn man es richtig ausschreibt, dann sieht das so aus:
    Standard, im Voraus und nicht so:
    standart im vorraus

    🙂

    bitte sehr, im pfohrrauhs
    🙂



  • hehe, ok,
    *mirselbstinsbeingeschossen*



  • kein problem, hier wird dich gehift, bruder!


Anmelden zum Antworten