ListView Linien zwischen den Zeilen
-
Hmm ich weiss nicht ob das mit WinApi so einfach gehen wird. Ansonsten evtl. selbst zeichnen.
MfG schirrmie
-
schirrmie schrieb:
Hmm ich weiss nicht ob das mit WinApi so einfach gehen wird. Ansonsten evtl. selbst zeichnen.
Und warum nicht? Einfach ListView_SetExtendedListViewStyle oder ListView_SetExtendedListViewStyleEx verwenden oder eben die entsprechende Nachricht LVM_SETEXTENDEDLISTVIEWSTYLE senden.
-
Hallo,
und das nächste Problem. Ich hab ein Static Control bei dem ich die Hintergrundfarbe ändern möchte. Mache es wie bei winapi.net. Resultat funzt absolut nicht!
WM_CTLCOLORSTATIC wird aufgerufen, das Static hat aber weiterhin nur einen schwarzen Rand.Das ist der komplette Code:
#include <windows.h> #include "resource.h" BOOL CALLBACK DlgProc(HWND hDlgBugReport, UINT uiMsg, WPARAM wParam, LPARAM lParam ) { static HBRUSH hBrush; switch( uiMsg ) { case WM_CTLCOLORSTATIC: { SetBkMode( (HDC)wParam, TRANSPARENT ); return (BOOL)hBrush; } break; case WM_INITDIALOG: { hBrush = (HBRUSH)CreateSolidBrush( RGB(0,0,0)); if( hBrush == NULL ) MessageBox( NULL, "Fehler CreateSolidBrush", "Fehler", MB_OK ); } break; case WM_CLOSE: { EndDialog( hDlgBugReport, 0 ); return TRUE; } break; case WM_DESTROY: DeleteObject (hBrush); break; default: return FALSE; } return TRUE; } int main() { INT_PTR piDlgBox = 0; piDlgBox = DialogBoxParam( NULL, MAKEINTRESOURCE(IDD_DLG), NULL, DlgProc, 0 ); if( piDlgBox == -1 ) MessageBoxW( NULL, L"Error starting, terminating.", L"Error", MB_OK | MB_ICONERROR ); return 0; }Und hier die Resource:
IDD_DLG DIALOGEX 0, 0, 186, 90 STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Dialog" FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN CONTROL "",IDC_STATIC,"Static",SS_BLACKFRAME,97,25,59,44 ENDIch werd noch verrückt

MfG
yogle
-
SS_BLACKFRAME! Und warum?
Du müsstest dann einen anderen Pen selektieren, wenn das überhaupt geht.
-
Also das Problem mit dem Static ist gelöst.
SS_BLACKFRAME (Rand-Style allg.) weg lassen und WS_CHILD Sytle setzen.
Nur gut dass das mit dem Resourcen Editor von VC nicht geht!MfG
yogle
-
Und es geht munter weiter mit den Problemen

Ich habe Buttons die auf einem fenster mit weißem Hintergrung liegen.
An den (runden) Ecken kann man nun noch so kleine graue Bereiche sehen, wie kann ich diese weg bekommen?Und ich habe einen Button mit dem Style
BS_AUTOCHECKBOXbei dem man um die Schrift herum ebenfalls graue Bereiche sieht. Wie kann ich hier diese weg bekommen?
Ich weiß ich nerve, es funktioniert bei mir aber irgendwie auch nie.
MfG
yogle
-
Ma gibt es bei euch im Hirn mal nen Anknopf? ich würde da gerne mal drauf klicken... guck dir mal WM_CTLCOLORBUTTON an

-
Hmm manchmal suche ich ihn auch.

Ich benutze aber *kein* MFC! Daher schreibe ich auch ins WinAPI Forum

Somit ist bei mir WM_CTLCOLORBUTTON undefiniert und ich kann damit nichts anfagen.
WM_CTLCOLORBTN habe ich auch schon gesehen, funzt aber bei mir nicht (keine Ownerdraw Buttons).Ander Ideen (keine Beleidigungen)?
MfG
yogle
-
Jo hat auch viel mit MFC zu tun
ne net wirklich ... ja sry hatte mich vertan meinte WM_CTLCOLORBTN ... aber normal sollte das gehen...
-
Also es funktioniert jetzt. Natürlich nicht so wie man denkt, aber es funktioniert.
case WM_CTLCOLORSTATIC: { SetBkMode( (HDC)wParam, TRANSPARENT ); hBrush = CreateSolidBrush( RGB(255,255,255)); } return (BOOL)hBrush;MfG
yogle
-
Kann ich bei meinem SysListView32 auch die Zeilenhöhe verändert? Nicht nur durch die Schriftgröße sondern sozusagen der Abstand zwischen den Texten.
Und ist es möglich bestimmte Zeilen in einer anderen Schriftgröße/Schriftart anzuzeigen oder die Headerbreite in dieser Zeile auszusetzen?Versuche es nochmal so zu erklären:
Header1 | Header2 | Header 3
--------------------------------------
Item11 | Item12 | Item13
--------------------------------------
Item21 | Item22 | Item23
--------------------------------------
Hier mal was ganz anderes!
--------------------------------------
Item31 | Item32 | Item33
.
.
.Hoffe es ist klar geworden, was ich meine

MfG
yogle
-
Wirklich gar keiner eine Idee? Jochen?

MfG
yogle
-
Owner Drawn kannst de einiges machen... von Haus aus dürften die gewüscnhten Funktionen nicht vorhanden sein...
-
Sehe ich auch so. Custom draw oder Ownerdaw ist hier angesagt!