Linie Malen :)
-
Hi, wie kann ich eine Linie auf einen DC Zeichenen ??
-
MoveTo / LineTo
-
Wieso Funktioniert dass nicht ??
int DrawBitmap(char *SrcBitmap,int x,int y,HWND hWnd) { HDC dcScreen; HWND hwndDesktop = GetDesktopWindow(); dcScreen = GetDC(hwndDesktop); MoveToEx(dcScreen,10,10,NULL); LineTo(dcScreen,10,10); dcScreen = GetDC(hWnd); return(0); }
-
Weil Du keine Linie malst. Du sagst von 10,10 nach 10,10 eine Linie malen. Diese Linie ist 0 Pixel lang!
BTW: Wenn Du schon so etwas Übles machst wie einen DC direkt zu holen, dann solltest Du auch ReleaseDC verwenden.
-
Ich bekomme aber immer noch keine Linie
int DrawBitmap(char *SrcBitmap,int x,int y,HWND hWnd) { HDC dcScreen; HWND hwndDesktop = GetDesktopWindow(); dcScreen = GetDC(hwndDesktop); MoveToEx(dcScreen,10,10,NULL); LineTo(dcScreen,10,700); dcScreen = GetDC(hWnd); return(0); }
-
int DrawBitmap(HDC hDC, LPCTSTR lpszSrcBitmap, short x, short y) { if (hDC == NULL || lpszSrcBitmap == NULL) return -1; MoveToEx(hDC, 10, 10, NULL); LineTo(hDC, 10, 100); return 0; }
Und dann übergibst du mal nen existierenden HDC und machst da net so nen murckx
-
@(D)Evil:
Entweder da fehlt das Zeichnen der Bitmap oder die Parameter sind überflüssig... .
-
CodeFinder
Nee, hab den nur drin gelassen, da er das selbst machen soll.Aber von mir aus:
int DrawBitmap(HDC hDC, LPCTSTR lpszSrcBitmap, unsigned short x, unsigned short y) { if (hDC == NULL || lpszSrcBitmap == NULL) return -1; HBITMAP hBitmap = LoadBitmap(GetModuleHandle(NULL), lpszSrcBitmap); if (hBitmap == NULL) return -2; HDC hMemDC = CreateCompatibleDC(hDC); if (hMemDC == NULL) return -2; SIZE szBitmap; GetBitmapDimensionEx(hBitmap, &szBitmap); SelectObject(hMemDC, hBitmap); BitBlt(hDC, x, y, szBitmap.cx, szBitmap.cy, hMemDC, 0, 0, SRCCOPY); DeleteDC(hMemDC); return 0; }