Credo bene che questo post interesserà forse a una sola persona che nel futuro in una notte hard di programmazione tosta incapperà nello stesso problema.
In nessun forum avevo trovato soluzione, se non patetici tentativi a colpi di XOR sui pixel del video e dei bottoni, anche perchè i guru veri nei forum non è che ci scribacchiano tanto.
Comunque.
Problema :
Attivare una funzione quando l'utente clicka su una zona determinata di una Win senza che sulla Win sia visibile nulla, e non compaia nulla né al click, né dopo.
Premetto che ormai i programmini per Yahoo! (sigh) non usano più, e che quindi questa funzioncella mi serviva solo per scegliere bitmap di sfondo senza orribili bottoni 3D di mezzo... :D giuro.
Code :In nessun forum avevo trovato soluzione, se non patetici tentativi a colpi di XOR sui pixel del video e dei bottoni, anche perchè i guru veri nei forum non è che ci scribacchiano tanto.
Comunque.
Problema :
Attivare una funzione quando l'utente clicka su una zona determinata di una Win senza che sulla Win sia visibile nulla, e non compaia nulla né al click, né dopo.
Premetto che ormai i programmini per Yahoo! (sigh) non usano più, e che quindi questa funzioncella mi serviva solo per scegliere bitmap di sfondo senza orribili bottoni 3D di mezzo... :D giuro.
DECLARE FUNCTION CreatePhantomButton (hWnd, x, y, w, h, controlID)
FUNCTION CreatePhantomButton(hWnd,x,y,w,h,controlID)
SHARED hInst
label$=""
style = $$WS_CHILD | $$WS_VISIBLE | $$SS_NOTIFY
hStatic = CreateWindowExA (0, &"static", &label$, style, x, y, w, h, hWnd, controlID, hInst, 0)
RETURN hStatic
END FUNCTION
nel Create della Win :
#hPhantomBtn=CreatePhantomButton(my_hWnd, myX, myY, myW, myH, $$PhantomBtn)
nella WndProc che processa i click :
SELECT CASE msg
CASE $$WM_COMMAND :
id = LOWORD(wParam)
hwndCtl = lParam
notifyCode = HIWORD(wParam)
SELECT CASE notifyCode
CASE $$BN_CLICKED :
IF (id = $PhantomBtn) THEN What you want :P
Commenti : 0