![]() |
Re: MpuAboutWnd
Liste der Anhänge anzeigen (Anzahl: 1)
Ich hab' eine Einstellung gefunden, die für 3 zeilenlange File-Descriptions wie ich finde schöne Ergebnisse liefert (siehe Anhang).
Delphi-Quellcode:
const
WINDOWWIDTH = 300; WINDOWHEIGHT = 224; // product name CreateWindowEx(0, 'STATIC', '', WS_CHILD or WS_VISIBLE or SS_CENTER, 17, 10, 285, 24, hWnd, ID_STC_PRODUCTNAME, HInstance, nil); // description, version and copyright CreateWindowEx(0, 'STATIC', '', WS_CHILD or WS_VISIBLE or SS_CENTER, 10, 44, 280, 130, hWnd, ID_STC_DESCRIPTION, HInstance, nil); // "Link" static CreateWindowEx(0, 'STATIC', PCHar(URI), WS_CHILD or WS_VISIBLE or SS_NOTIFY or SS_CENTER, 5, 135, 285, 15, hWnd, ID_STC_WEB, HInstance, nil); // devider CreateWindowEx(0, 'STATIC', '', WS_CHILD or WS_VISIBLE or SS_SUNKEN, 0, 128, 300, 8, hWnd, 0, HInstance, nil); // OK button CreateWindowEx(0, 'BUTTON', 'OK', WS_CHILD or WS_VISIBLE or BS_DEFPUSHBUTTON, 210, 155, 75, 24, hWnd, ID_BTN_OK, HInstance, nil); |
Re: MpuAboutWnd
Zitat:
@calculon: Du hast einfach nur die Fenster größer gemacht? Dabei sind dir aber ein paar Fenster durcheinander geraten. ;) |
Re: MpuAboutWnd
Zitat:
Also danke für die Unit. Die werde ich mit Sicherheit mal brauchen! Gruß Calculon -- |
Re: MpuAboutWnd
Liste der Anhänge anzeigen (Anzahl: 1)
So, endlich den Fehler gefunden der bei deinem MpuAboutWnd den Rangecheck Error verursacht:
Code:
So sollte es sein damit auch die LinkStcWndProc mit der CallWindowProc übereinstimmt:
function LinkStcWndProc(hLinkStc, uMsg, wParam, lParam: [color=#ff0000]DWORD[/color]): [color=#ff0000]DWORD[/color]; stdcall;
Delphi-Quellcode:
und dann noch:
function LinkStcWndProc(hLinkStc, uMsg: DWORD; wParam, lParam: integer): LRESULT; stdcall;
Code:
Integer ist kein Word.
WM_CTLCOLORSTATIC:
begin // set textcolor of "Link" tatic if lParam = Integer(GetDlgItem(hWnd, ID_STC_WEB)) then begin [color=#ff0000]SetTextColor(wParam, RGB(0, 0, 255)); SetBkColor(wParam, GetSysColor(COLOR_BTNFACE));[/color] Brush := GetSysColorBrush(COLOR_BTNFACE); // save brush as a window property SetProp(hWnd, PROP_BRUSH, Brush); // return brush Result := Brush; end //... Sollte so aussehen:
Delphi-Quellcode:
Dazu habe ich dann für den Link noch ein passenden Cursor eingebaut ohne viel Tamtam im Quelltext.
WM_CTLCOLORSTATIC:
begin // set textcolor of "Link" tatic if lParam = Integer(GetDlgItem(hWnd, ID_STC_WEB)) then begin SetTextColor(DWORD(wParam), RGB(0, 0, 255)); SetBkColor(DWORD(wParam), GetSysColor(COLOR_BTNFACE)); Brush := GetSysColorBrush(COLOR_BTNFACE); // save brush as a window property SetProp(hWnd, PROP_BRUSH, Brush); // return brush Result := Brush; end //...
Delphi-Quellcode:
// "Link" static
hstcWeb := CreateWindowEx(0, 'STATIC', PCHar(URL), WS_CHILD or WS_VISIBLE or SS_NOTIFY or SS_CENTER, 5, 97, WINDOWWIDTH - 15, 18, hWnd, ID_STC_WEB, HInstance, nil); SetClassLong(hstcWeb, GCL_HCURSOR, LoadCursor(0, IDC_HAND)); Dann habe ich mir erlaubt das Iconarray zu entfernen im es durch ein Res.-Icon zu ersetzen. Ein Aufruf sieht dann zB. so aus.:
Delphi-Quellcode:
Überlauf und Bereichsprüfung sind bei meinem Delphi immer an! :stupid:
procedure IrgendWieIrgendWoIrgendWann;
begin MpuAboutWnd.URL := 'http://www.michael-puff.de'; MpuAboutWnd.ICON_ID := 1; TAboutWnd.ShowAboutWnd(hDlg); end; Done. :mrgreen: |
Re: MpuAboutWnd
Hallo,
danke für deine Mühe, ich werde meinen Code entsprechend korrigieren. Zitat:
|
Re: MpuAboutWnd
kann ich es auch irgendwie verwirklichen, den link der hompage in das edit zu verfrachten???
|
Re: MpuAboutWnd
In welches Edit? Ersetz den Klassennamen "STATIC" durch "EDIT" und du hast ein Edit-Kontrol.
|
Re: MpuAboutWnd
ach sorry hatte ganz vergessen das hab ich ja eingefügt das war ja gar kein standart ;-) na ich hab noch nen edit eingefügt als richedit 2.0 und in dem steht halt noch sonn kleiner text, in diesem wollte ich dann dierekt den link darstellen!!!
|
Re: MpuAboutWnd
Na das sind aber schon größere Modifikationen, die mit meinem Code eigentlich nichts mehr gemeinsam haben. Wie man mit Links in RichEdits umgeht, kannst du, glaube ich, in meinen
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:41 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz