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 Win32-API Tutorials für Delphi nachlesen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:19 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz