Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 4 odgovora
  • 4.382 pregleda

Najnovija ↓

Promjena izgleda kursora 08.05.2004. u 12:10 · pre 274 meseca #1
Cao,kako mogu promjenuti izgled kursora u dialog boxu kada kliknem na dugme,
pokusao sam na sledeci nacin :

BOOL CALLBACK Procedura(HWND hwnd,UINT Msg,WPARAM wParam,LPARAM lParam)
{
switch(Msg) {
......
case WM_COMMAND :
switch(wParam)
{
case IDD_DUGME: //Znaci kad se pritisne dugme da promjeni kursor
SetCursor(LoadCursor(NULL,IDC_HAND));

break;
.........
ali nece da ga zadrzi,tj. ako ubacim gore i sleep(2000) , kursor u obliku ruke se pokaze te 2 sekunde,sto znaci da radi funkcija SetCursor ?
Re: Promjena izgleda kursora 08.05.2004. u 12:36 · pre 274 meseca #2
Ako hCursor polje u WNDCLASSEX strukturi koju ces registrovati i koristiti za prozor nije NULL, i ako naknadno promenis kurzor sa SetCursor, svaki put kada pomeris misa Windows ce vratiti onaj kursor koji je odredjen sa hCursor.
Stoga, stavi NULL u hCursor, i negde u inizijalizacionom delu koda, nakon kreiranja prozora aplikacije setuj pocetni kurzor sa SetCursor, a ostalo ostavi kako si uradio.
Potpis
O_o
Re: Promjena izgleda kursora 08.05.2004. u 12:56 · pre 274 meseca #3
Ali nemam ja WNDCLASSEX strukturu , jer imam samo dialog box

#include <windows.h>
#include "resource.h"


BOOL CALLBACK Procedura(HWND hwnd,UINT Msg,WPARAM wParam,LPARAM lParam)
{
switch(Msg)
{

case WM_INITDIALOG:
///Jedino da ga ovdje inicijalizujam;
break;

case WM_COMMAND:
switch(wParam)
{
case IDD_DUGME:
SetCursor(LoadCursor(NULL,IDC_HAND));
break;
}
break;

case WM_CLOSE:
PostQuitMessage(0);
break;

default:
return FALSE;
}
return 1;
}

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow)
{
return DialogBox(hInstance, MAKEINTRESOURCE(IDD_DIALOG),NULL,Procedura);
}

Probao sam promjenuti kursor kada pravim obican windows(prozor) i radi , ali nece ako je dialog box.
Re: Promjena izgleda kursora 08.05.2004. u 13:18 · pre 274 meseca #4
Probaj sa :
Code:

case IDD_DUGME:
SetClassLong(hwnd, GCL_HCURSOR, (long)LoadCursor(NULL, IDC_HAND));
break;


Ovo bi trebalo da promeni default kurzor za dijalog, ali ne i za kontrole na dijalogu, kao npr. za IDD_DUGME, ali uvek mozes naci handle svake kontrole i izvrsiti izmenu na gore opisani nacin.
Potpis
O_o
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme