Edit Control Zeilenumbruch, automatisch scrollen einstellen



  • hi!

    wie stell ich bei einer Edit Control automatischen zeilenumbruch ein? und wie kann ich automatisch scrollen einstellen....?

    cu



  • ok gelöst!!!

    // Scroll the edit control
    LineScroll (GetLineCount(), 0);

    und zeilenumbruch ist in den eigenschaften der edit control ein zu stellen!!!!

    ich hab in den dialog die edit control und eine send button....nun möchte ich aber nicht immer mit der maus auf send drücken, ich möchte das bei ALT+ENTER gesendet wird, wie mach ich das? müsste irgendwie die tastenkeys abfangen aber wo u wie?;-)

    danke mal im vorhinein....
    cu



  • Dazu musst du dir mal die Funktion

    PreTranslateMessage();
    

    ansehen - damit kannste die Tasten abfangen und dann
    die Funktion des Buttons ausführen..



  • hi,
    muss ich PreTranslateMessage(MSG* pMsg) manuell hinzufügen oder ist das eine message die man in visual studio 2003 .net unter den Dialog eigenschaften hinzufügen kann?

    cu + thx



  • hi,

    wie kann ich ALT + Enter abfangen:

    habs so probiert:

    if(pMsg->wParam == VK_MENU && pMsg->wParam == VK_RETURN)
    	{
    		cout << "ALT + ENTER gedrückt" << endl;
    	}
    

    funzte aber nicht;-(
    was mach ich falsch?

    bye



  • switch (pMsg->message)
    {
    	case WM_KEYDOWN:
    	switch (pMsg->wParam)
    	{
    		case VK_LCONTROL:
    			AfxMessageBox("Left Control");
    			break;
    		case VK_RETURN:
    			AfxMessageBox("Return");
    			break;
    	}
    }
    

    Also so klappt es bei mir. Kann aber momentan nicht herausfinden, wie das geht, wenn ich 2 Tasten kombiniere.
    Habe auch alles ausprobiert : &,&&,|,||,+ (auch wenn einiges keinen Sinn macht... ;))



  • Hi, hab mal ein Stück aus ner if kopiert, das sollte dich auf die richtige Spur bringen. 🙂

    (::GetKeyState(VK_CONTROL) & 0x8000)
    


  • if ((::GetKeyState(VK_CONTROL) & 0x8000) && (pMsg->wParam == VK_LEFT))
    	AfxMessageBox("Left + LControl");
    

    Funktioniert jetzt. Jedoch, wenn ich VK_LMENU anstatt VK_CONTROL nutze, nicht???



  • hi,

    weiss jetzt funktioniert noch nicht....wie kann ich STRG + ENTER abfangen?

    cu



  • hi!

    es klappt, mach es so:

    if ((::GetKeyState(VK_CONTROL) & 0x8000) && (pMsg->wParam == VK_RETURN)) {
    		OnBnClickedButtonSend();
    		pMsg->wParam = VK_CLEAR;
    }
    

    also wenn ich STRG + ENTER drückte wird die gleiche funktion aufgerufen also ob ich den sende button klicke....ich darf aber diese tastenkombi nicht weitersenden, weil sonst wird dem send noch das enter mit ner leerzeile mitgesendet, hab da nun ein VK_CLEAR weiter gesendet...weiss nicht....fällt euch was besseres ein was man weiter senden kann?

    cu


Log in to reply