| |
|
|
Hans Hermann | Salut, je cherche une simple XProfan-Solution, dans einer Messagebox (Empreinte) encore une Website et une Mailadresse unterzubringen comme underlined-Solution, pas comme Button.
Vielen Dank! Hans |
|
|
| |
|
|
|
| là hilft MessageBoxIndirect [...] avec Beispielen [...] et [...] , Hyperlink vlt. per [...] .
si Du cela zusammenbekommen la hâte, ensuite hätte je cela aussi volontiers. |
|
|
| |
|
|
|
Rolf Koch | Tja Hans, qui meinen Object Creator utilise, qui weis comment simple c'est |
|
|
| |
|
|
|
Andreas Miethe
| Per Hook allez une la quantité
$H Windows.ph
$H Messages.ph
Struct CWPSTRUCT = lParam&,wParam&,message&,hwnd&
Struct Rect = left&,top&,right&,bottom&
#############################
Messagebox-Konstanten
DEF &IDOK 1
DEF &IDCANCEL 2
DEF &IDABORT 3
DEF &IDRETRY 4
DEF &IDIGNORE 5
DEF &IDYES 6
DEF &IDNO 7
DEF &IDHELP 9
DEF &IDTRYAGAIN 10
DEF &IDCONTINUE 11
DEF &IDICON 20
DEF &IDPROMPT $FFFF
DEF &IDSTATIC $CAFE
#############################
Proc MB
Paramètres wnd&,msg&,wparam&,lparam&
Déclarer Result&,W&,H&,b&
Result& = ~CallWindowProc(OldProc&,wnd&,msg&,wparam&,lparam&)
sélectionner msg&
Caseof ~WM_INITDIALOG
Var SRect# = New(Rect)
~GetWindowRect(wnd&,SRect#)
Dialog vergrössern et zentrieren
W& = SRect#.right& - SRect#.left&
H& = SRect#.bottom& -SRect#.top& + 40
~Movewindow(wnd&,((%maxx/2)-(W&/2)),((%maxy/2)-(H&/2)),W&,H&,1)
Positionen qui Controls 40 Pixel pour untern verchieben
~Getwindowrect(~GetDlgItem(wnd&,&IDSTATIC),SRect#)
~Mapwindowpoints(0,wnd&,SRect#,2)
~Movewindow(~GetDlgItem(wnd&,&IDSTATIC),0,SRect#.Top&+40,SRect#.Right&,SRect#.Bottom&,1)
Whileloop 1,11
Si ~IsWindow(~GetDlgItem(wnd&,&Boucle))
~Getwindowrect(~GetDlgItem(wnd&,&Boucle),SRect#)
~Mapwindowpoints(0,wnd&,SRect#,2)
~Setwindowpos(~GetDlgItem(wnd&,&Boucle),0,SRect#.Left&,SRect#.Top&+40,0,0,~SWP_NOSIZE | ~SWP_NOZORDER)
Endif
Endwhile
Position vom PROMPT holen
~Getwindowrect(~GetDlgItem(wnd&,&IDPROMPT),SRect#)
~Mapwindowpoints(0,wnd&,SRect#,2)
LINKS sous PROMPT anlegen
Link& = Contrôle("SysLink","<a>Besuch mon Homepage</a>",$50000000,SRect#.Left&,SRect#.Bottom&+10,width(wnd&),18,wnd&,4000,0,0)
SendMessage(Link&,~WM_SETFONT,~GetStockObject(~ANSI_VAR_FONT),1)
Mail& = Contrôle("SysLink","<a>Schick mir une Mail</a>",$50000000,SRect#.Left&,SRect#.Bottom&+30,width(wnd&),18,wnd&,4001,0,0)
SendMessage(Mail&,~WM_SETFONT,~GetStockObject(~ANSI_VAR_FONT),1)
Dispose SRect#
Result& = 1
Caseof ~WM_NOTIFY
Link abfragen
Si (Long(lparam&,8) = -2) and (Long(lParam&,0) = LINK&)
ShellExec("https://www.ampsoft.eu","open",~SW_SHOWNORMAL)
endif
Si (Long(lparam&,8) = -2) and (Long(lParam&,0) = Mail&)
ShellExec("Mailto://","open",~SW_SHOWNORMAL)
endif
Result& = 1
Caseof ~WM_NCDESTROY
~UnhookWindowsHookEx(Hook&)
Result& = 1
Endselect
Retour Result&
ENDPROC
Proc SetHook
Paramètres nCode&, wParam&, lParam&
Select nCode&
Caseof ~HC_ACTION
Var pw# = New(CWPSTRUCT)
pw# = lparam&
Si pw#.message& = ~WM_INITDIALOG
OldProc& = ~SetWindowlong(pw#.hwnd&,~GWL_WNDPROC,ProcAddr("MB",4))
Dispose pw#
Endif
EndSelect
Retour ~CallNextHookEx(Hook&, nCode&, wParam&, lParam&)
ENDPROC
Proc PRF_Messagebox
Set("Fastmode",1)
Paramètres body$, title$, flags&
Déclarer Result&
Hook& = ~SetWindowsHookEx(~WH_CALLWNDPROC, ProcAddr("SetHook",3), 0,~GetCurrentThreadId())
Result& = MessageBox(title$,body$, flags&)
Set("Fastmode",0)
Retour Result&
ENDPROC
ici gehts à l'attaque
Déclarer Hook&,OldProc&
Déclarer LINK&,Mail&
cls
Imprimer PRF_Messagebox("Eine Frage...","Wirklich effacer ?",~MB_YESNOCANCEL | ~MB_DEFBUTTON2 | ~MB_ICONQUESTION | ~MB_APPLMODAL)
Waitinput
|
|
|
| Gruss Andreas ________ ________ ________ ________ _ Profan 3.3 - XProfanX2 Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher Homepage : [...] | 06.02.2010 ▲ |
|
|
|
|
Frank Abbing | qui Hintergrund stimmt encore pas entier. |
|
|
| |
|
|
|
Andreas Miethe
| comment soll qui Hintergrund car air ? |
|
|
| Gruss Andreas ________ ________ ________ ________ _ Profan 3.3 - XProfanX2 Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher Homepage : [...] | 06.02.2010 ▲ |
|
|
|
|
Frank Abbing | Wirkt komisch, si il unten wieder weiss wird. qui Linktext sollte peut-être besser sous dem Icon stehen. |
|
|
| |
|
|
|
Andreas Miethe
| cela peux oui chacun anpassen comment il es voudrais ( chez WM_INITDIALOG ) z.B. dans Schweinchenrosa |
|
|
| Gruss Andreas ________ ________ ________ ________ _ Profan 3.3 - XProfanX2 Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher Homepage : [...] | 06.02.2010 ▲ |
|
|
|
|
Frank Abbing | Schweinchenrosa ist oui c'est ca richtig, merci! |
|
|
| |
|
|
|
Andreas Miethe
| OK, j'ai obigen Code so geändert, dass qui à gauche maintenant sous dem Prompt et sur den Butons angezeigt volonté. |
|
|
| Gruss Andreas ________ ________ ________ ________ _ Profan 3.3 - XProfanX2 Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher Homepage : [...] | 07.02.2010 ▲ |
|
|
|
|
Frank Abbing | cela sieht richtig bien aus, Andreas! |
|
|
| |
|
|
|
E.T. | super !! mais pourquoi doit car qui Schweinchen toujours rose son ??? chez uns (früher) im Stall étions qui toujours dreckig , avons mais quand même geschmeckt... |
|
|
| Grüße aus Sachsen... Mario WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte... | 08.02.2010 ▲ |
|
|
|