TShiftState auf ssCtrl setzen



  • Hallo,

    wie kann ich TShiftState auf ssCtrl setzen?
    Ich will beim drücken eines buttons das OnKeyDown Ereigniss vom Form aufrufen und die selben Tastencodes übergeben als wenn die entsprechende Tastenkombination gedrückt wurde (so muß ich das was bei OnKeyDown passiert nur einmal programmieren und net extra in eine Funktion auslagern)

    bsp:

    void __fastcall TMyForm::Button1Click(TObject *Sender)
    {
    	WORD Key = 'C';
    	TShiftState State;
    //	irgendwie State auf ssCtrl setzen ? 
    	OnKeyDown(MyForm, Key, State);
    }
    
    void __fastcall TMyForm::FormKeyDown(TObject *Sender, WORD &Key,
    	  TShiftState Shift)
    {
    	if ((Key == 'C') && (Shift.Contains(ssCtrl)))
    		{
    			Key = 0;
    //			Copy to... and do something...
    		}
    }
    

    Ich hab schon fast alles Probiert und jetzt gehen mir die Ideen aus!? 😕

    tia



  • Hllo

    Siehe auch FAQ, Thema Sets benutzen

    TShiftState State;
    State << ssCtrl;
    

    bis bald
    akari



  • Danke es funzt!

    Hätte ich au selbst drauf kommen können, ...naja

    thx



  • Hey schön, nach demselben Problem wollte ich hier gerade suchen.. danke ebenfalls! 😉

    Karlos: Du kannst TShiftState auch so nutzen:

    OnKeyDown(MyForm, Key, TShiftState() << ssCtrl);
    

Anmelden zum Antworten