Maus Cursor



  • Moin.

    Ich lade mir meinen eigenen Cursor so:

    Screen->Cursors[crNormal] = LoadImage(HInstance, ".\\Skin\\default\\cursor\\default.cur", IMAGE_CURSOR, 0, 0, LR_LOADFROMFILE);
    Screen->Cursor = crNormal;
    

    Ich habe oben ein Menü, aber da wird der Windows Cursor genommen. Wie kann ich meinen eigenen Cursor überall anzeigen???
    Das soll angeblich über:

    Application->ProcessMessages()
    

    gehen, aber ich schnalle das nicht wie das gehen soll. Das man keine Werte übergibt, habe ich das mal rein kopiert, aber hat nicht funktioniert.

    Deswegen wüßte ich das gern, wie ich meinen Cursor (Maus) überall angezeigt wird und nicht nur auf dem Form. 😞



  • ?



  • Original erstellt von DJ BlackEagle:
    Deswegen wüßte ich das gern, wie ich meinen Cursor (Maus) überall angezeigt wird und nicht nur auf dem Form.

    Da musst du dich wohl an's WinAPI-Forum wenden.

    Screen bezieht sich nur auf die eigenen Formulare, auch wenn man damit zB. die Abmessungen des Desktops ermitteln kann. ProcessMessages hat mit der ganzen Sache nichts zu tun, damit erzwingst du nur eine Art "Refresh" deines Programmes.



  • Versuch mal, die Methode CreateParams deiner Form zu überschreiben. Ändere in dem TCreateParams den Member WindowClass (Typ: tagWNDCLASSA), und zwar darin den Member hCursor. Also so:

    void __fastcall TMyForm::CreateParams(TCreateParams& Params)
    {
       TForm::CreateParams(Params);
       Params.WindowClass.hCursor = LoadCursor(...);
    }
    


  • Ne, lass mal. Das klappt doch nicht.


Anmelden zum Antworten