Avatar billede semiprofkode Nybegynder
01. juli 2006 - 23:12 Der er 5 kommentarer

skifte pointerens udeseende

hvordan bestemmer jeg pointerens udseende i mit c# program, således at det gælder globalt, ikke kun i min form ?
Avatar billede mikkelbm Nybegynder
02. juli 2006 - 16:51 #1
Jeg gør ud fra du mener Cursor/markør ?

Det kan ikke gøres i managed code, men prøv følgende:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;

namespace TestCursor
{
    public partial class Form1 : Form
    {
        [DllImport ("user32.dll")]
        static extern bool SetSystemCursor (IntPtr hcur, uint id);

        [DllImport ("user32.dll")]
        static extern IntPtr LoadCursor (IntPtr hInstance, int lpCursorName);

        private int IDC_UPARROW = 32516;
        private const uint OCR_NORMAL = 32512;

        public Form1 ()
        {
            InitializeComponent ();
        }

        private void buttonChangeCursor_Click (object sender, EventArgs e)
        {
            IntPtr hcursor = LoadCursor (IntPtr.Zero, IDC_UPARROW);
            bool ret_val = SetSystemCursor (hcursor, OCR_NORMAL);
        }
    }
}
Avatar billede mikkelbm Nybegynder
02. juli 2006 - 16:54 #2
Og koder for de forskellige markører:

IDC_ARROW = 32512
IDC_IBEAM = 32513
IDC_WAIT = 32514
IDC_CROSS = 32515
IDC_UPARROW = 32516
IDC_SIZE = 32640
IDC_ICON = 32641
IDC_SIZENWSE = 32642
IDC_SIZENESW = 32643
IDC_SIZEWE = 32644
IDC_SIZENS = 32645
IDC_SIZEALL = 32646
IDC_NO = 32648
IDC_APPSTARTING = 32650
Avatar billede mikkelbm Nybegynder
02. juli 2006 - 17:01 #3
Og jeg fandt lige ud af, at du også kan få en Handle på en Cursor:

IntPtr cursor = Cursors.WaitCursor.Handle;
Avatar billede semiprofkode Nybegynder
08. juli 2006 - 19:44 #4
Det virker, men af en eller anden grund kommer min egen cursor kun frem i sort/hvid, selvom den er lavet i 16 colors i Visual studio 2003.

IntPtr hcursor = new Cursor(GetType(), "CursorLETTER.cur").Handle;
bool ret_val = SetSystemCursor (hcursor, OCR_NORMAL);

min cursor kompileres som embedded resource.
Avatar billede mikkelbm Nybegynder
08. juli 2006 - 19:49 #5
Har ikke prøvet med egen cursor, så det kan jeg desværre ikke være behjælpelig med.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester