|  |  | 
|  | 
|  | 
|  Hans
 Hermann
 | | Ciao, ich suche eine einfache XProfan-Lösung, in einer Messagebox (Impronta) noch eine Website und eine Mailadresse unterzubringen als underlined-Lösung, nicht als Button.
 
 Vielen Dank!
 Hans
 | 
 | 
|  | 
|  |  | 
|  | 
| 
 
 
 | 
|  | 
|  | | Da hilft MessageBoxIndirect  [...]  mit Beispielen  [...]  und  [...]  , Hyperlink vlt. per  [...]  . 
 Wenn Du das zusammenbekommen hast, dann hätte ich das auch gerne.
 | 
 | 
|  | 
|  |  | 
|  | 
| 
 
 
 | 
|  | 
|  Rolf
 Koch
 | | Tja Hans, wer meinen Object Creator nutzt, der weis wie einfach es ist  | 
 | 
|  | 
|  |  | 
|  | 
| 
 
 
 | 
|  | 
|  Andreas
 Miethe
 
 
  | | Per Hook geht eine Menge  
  $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
    Parameters wnd&,msg&,wparam&,lparam&
    Declare Result&,W&,H&,b&
    Result& = ~CallWindowProc(OldProc&,wnd&,msg&,wparam&,lparam&)
    select msg&
        Caseof ~WM_INITDIALOG
        Var SRect# = New(Rect)
        ~GetWindowRect(wnd&,SRect#)
        Dialog vergrössern und 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 der Controls 40 Pixel nach 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
            If ~IsWindow(~GetDlgItem(wnd&,&Loop))
                ~Getwindowrect(~GetDlgItem(wnd&,&Loop),SRect#)
                ~Mapwindowpoints(0,wnd&,SRect#,2)
                ~Setwindowpos(~GetDlgItem(wnd&,&Loop),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 unter PROMPT anlegen
        Link& = Control("SysLink","<a>Besuch meine 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& = Control("SysLink","<a>Schick mir eine 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
        If (Long(lparam&,8) = -2) and (Long(lParam&,0) = LINK&)
            ShellExec("https://www.ampsoft.eu","open",~SW_SHOWNORMAL)
        endif
        If (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
    Return Result&
Endproc
Proc SetHook
    Parameters nCode&, wParam&, lParam&
    Select nCode&
        Caseof ~HC_ACTION
        Var pw# = New(CWPSTRUCT)
        pw# = lparam&
        If pw#.message& = ~WM_INITDIALOG
            OldProc& = ~SetWindowlong(pw#.hwnd&,~GWL_WNDPROC,ProcAddr("MB",4))
            Dispose pw#
        Endif
    EndSelect
    Return ~CallNextHookEx(Hook&, nCode&, wParam&, lParam&)
EndProc
Proc PRF_Messagebox
    Set("Fastmode",1)
    Parameters  body$, title$, flags&
    Declare Result&
    Hook& = ~SetWindowsHookEx(~WH_CALLWNDPROC, ProcAddr("SetHook",3), 0,~GetCurrentThreadId())
    Result& = MessageBox(title$,body$, flags&)
    Set("Fastmode",0)
    Return Result&
EndProc
Hier gehts los
Declare Hook&,OldProc&
Declare LINK&,Mail&
cls
Print PRF_Messagebox("Eine Frage...","Wirklich löschen ?",~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
 | | Der Hintergrund stimmt noch nicht ganz. | 
 
 | 
|  | 
|  |  | 
|  | 
| 
 
 
 | 
|  | 
|  Andreas
 Miethe
 
 
  | | Wie soll der Hintergrund denn aussehen ? | 
 | 
|  | 
|  | | 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, wenn er unten wieder weiss wird. Der Linktext sollte vielleicht besser unter dem Icon stehen. | 
 | 
|  | 
|  |  | 
|  | 
| 
 
 
 | 
|  | 
|  Andreas
 Miethe
 
 
  | | Das kann ja jeder anpassen wie er es möchte ( bei WM_INITDIALOG ) z.B. in 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 genau richtig, danke!  | 
 | 
|  | 
|  |  | 
|  | 
| 
 
 
 | 
|  | 
|  Andreas
 Miethe
 
 
  | | OK, ich habe obigen Code so geändert, dass die Links jetzt unter dem Prompt und circa den Butons angezeigt werden. | 
 
 | 
|  | 
|  | | 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
 | | Das sieht richtig gut aus, Andreas!  | 
 | 
|  | 
|  |  | 
|  | 
| 
 
 
 | 
|  | 
|  E.T.
 | | Klasse !! Aber warum müssen denn die Schweinchen immer rosa sein ??? Bei uns (früher) im Stall waren die immer dreckig
  , haben aber trotzdem 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  ▲ | 
 | 
|  | 
| 
 
 
 |