Betatest
-
gibt das Hanf frei. Und den Quellcode vom Splitter auch.
PS:Tut tuts auch
-
Ah ich wollt zum Programm noch was schreiben.
Win98
300MhZHousten, wir haben keine Probleme. Das Design ist aber echt übel.
-
Das mit dem Design unter Win9x / WinME ist mir schon klar, das Programm ist eben vom Design her für WinXP geschieben :). Das mit der nicht angezeigten Scrollbar werd ich mir noch mal anschauen und das mit den Tooltips werd ich auch noch versuchen.
M.T.
-
funZt net
-
Manuel: Wann postest du denn den Quellcode vom Splitter? Oder machst du das doch nicht mehr?
-
Ich post den Quellcode schon noch - ich arbeite aber erst mal an den Tooltips. - Das mit der Scrollbar liegt daran, dass kein Adressbuch geöffnet war -> das ListView deaktiviert war.
M.T.
-
Die Toolbar-Buttons (ALTES Design) haben nur deaktivierte Bilder und im Menü sieht man auch keine Texte.
-
Zu dem Code für das Split-Control, ich hab ihn hier stehen, wenn noch irgendwas unklar ist, einfach fragen
//Globale Variablen bool move_bar; int bar_pos; bool mouse_over_bar; //SizeControls muss eine Funktion sein, die die Steuerelemente nach bar_pos ausrichtet //In der Wnd-Proc case WM_MOUSEMOVE: GetClientRect(hWnd,&client_rect); if(move_bar && LOWORD(lParam)-2!=bar_pos) { static POINT last_cur_pos; RECT temp_rect_old; temp_rect_old.left=bar_pos; temp_rect_old.right=bar_pos+6; temp_rect_old.top=0; temp_rect_old.bottom=client_rect.bottom-1; if(LOWORD(lParam)<client_rect.right-10 && LOWORD(lParam)>10) { bar_pos=LOWORD(lParam)-2; } GetCursorPos(&last_cur_pos); RECT temp_rect; temp_rect.left=bar_pos; temp_rect.right=bar_pos+6; temp_rect.top=0; temp_rect.bottom=client_rect.bottom-1; SizeControls(); InvalidateRect(hWnd,&temp_rect_old,1); InvalidateRect(hWnd,&temp_rect,1); } if(LOWORD(lParam)>=bar_pos && LOWORD(lParam)<=bar_pos+6) { if(HIWORD(lParam)>=0 && HIWORD(lParam)<=client_rect.bottom-1) { if(!mouse_over_bar && !lv_dragging) { SetClassLong(hWnd,GCL_HCURSOR,(long)LoadCursor(NULL,IDC_SIZEWE)); } mouse_over_bar=TRUE; } else { if(mouse_over_bar && !lv_dragging) { SetClassLong(hWnd,GCL_HCURSOR,(long)LoadCursor(NULL,IDC_ARROW)); } mouse_over_bar=FALSE; } } else { if(mouse_over_bar && !lv_dragging) { SetClassLong(hWnd,GCL_HCURSOR,(long)LoadCursor(NULL,IDC_ARROW)); } mouse_over_bar=FALSE; } break; case WM_LBUTTONDOWN: if(mouse_over_bar) { move_bar=TRUE; SetCapture(hWnd); } break; case WM_LBUTTONUP: if(move_bar) { move_bar=FALSE; ReleaseCapture(); } break; case WM_PAINT: GetClientRect(hWnd,&client_rect); HDC hDC; PAINTSTRUCT ps; HPEN pen; hDC=BeginPaint(hWnd,&ps); //1. Linie Bar pen=CreatePen(PS_SOLID,1,RGB(241,239,226)); SelectObject(hDC,pen); MoveToEx(hDC,bar_pos,36,NULL); LineTo(hDC,bar_pos,client_rect.bottom-1); DeleteObject(pen); //2. Linie Bar pen=CreatePen(PS_SOLID,1,RGB(255,255,255)); SelectObject(hDC,pen); MoveToEx(hDC,bar_pos+1,36,NULL); LineTo(hDC,bar_pos+1,client_rect.bottom-1); DeleteObject(pen); //3. und 4. Linie Bar pen=CreatePen(PS_SOLID,1,RGB(224,223,227)); SelectObject(hDC,pen); MoveToEx(hDC,bar_pos+2,36,NULL); LineTo(hDC,bar_pos+2,client_rect.bottom-1); MoveToEx(hDC,bar_pos+3,36,NULL); LineTo(hDC,bar_pos+3,client_rect.bottom-1); DeleteObject(pen); //5. Linie Bar pen=CreatePen(PS_SOLID,1,RGB(157,157,161)); SelectObject(hDC,pen); MoveToEx(hDC,bar_pos+4,36,NULL); LineTo(hDC,bar_pos+4,client_rect.bottom-1); DeleteObject(pen); //6. Linie Bar pen=CreatePen(PS_SOLID,1,RGB(113,111,100)); SelectObject(hDC,pen); MoveToEx(hDC,bar_pos+5,36,NULL); LineTo(hDC,bar_pos+5,client_rect.bottom-1); DeleteObject(pen); EndPaint(hWnd,&ps); break;
M.T.
-
@Mr N: Wenn du im Menü keine Texte siehst, fehlt dir irgenwie die German.ini
M.T.
-
@Manuel: Das wars. Besonders find ich das jetz nicht (hab XP) *g*:
-
Für das Adressbuch die Ziele hab ich mir auch nicht wirklich hoch gesteckt - wollte nur mal ein Projekt wirklich zu Ende bringen.
M.T.
-
Wenn ich halt ne adb-datei hätte, hab aber keine *gg*
-
Ich kappier das mit dem Splitter noch nicht. Wo gibt man denn die HWNDs an die getrennt werden sollen?
-
@Nitromaus: Was denkst du, was der Menüpunkt neues Adressbuch macht ?
@Allet: Die musst du selbst sizen, eben an der Stelle, die bar_pos die gibt
M.T.