Co znamená toto:
https://msdn.microsoft.com/en-us/library/windows/desktop/ms534453%28v=vs.85%29.aspx
"Graphics class:
Applies to: desktop apps only"
Co je to "desktop apps"?
A k čemu je header "objidl"? (zde https://msdn.microsoft.com/en-us/library/windows/desktop/ms533895%28v=vs.85%29.aspx)
K otázce, mám okno s mapou 256x256 px. A chci udělat výběr určité oblasti, tzn. zvýraznit vybranou část. Kdyby to bylo na webovou stránku, udělal bych to tak, že bych přes obrázek mapy dal png s alfa vrstvou. Čtverec bych nakreslil do normální vrstvy. Ale tady?
Našel jsem toto:
https://msdn.microsoft.com/en-us/library/windows/desktop/dd183351%28v=vs.85%29.aspx
Ale to nevyhovuje, to je funkce, která jede jen na Windows Server a Windows XP professional (desktop apps only). A já chci aby můj projekt mohl kompilovat i člověk který má obyčejné XP Home. Takže jak to vyřešit?
Nějaký kod mám.
https://msdn.microsoft.com/en-us/library/windows/desktop/ms534453%28v=vs.85%29.aspxHDC hDC;
data.mapbmp = NULL;
hDC = GetWindowDC(window);
data.copydc = CreateCompatibleDC(hDC);
ReleaseDC(window, hDC);
// Function to create bitmap (map) with the terrain and units is called
// so data.mapbmp is a valid bitmap with image (256 colors)
// there are this functions:
// data.mapbmp = CreateCompatibleBitmap(dcdest, data.bmpsize, data.bmpsize);
// SelectObject(data.copydc, data.mapbmp);
// data.mapbmp = CreateCompatibleBitmap(dcdest, data.bmpsize, data.bmpsize);
// FillRect(data.copydc, &area, tBrushes[parse->cnst]);
// Draw the map
PAINTSTRUCT ps;
hDC = BeginPaint(window, &ps);
SelectObject(data.copydc, data.mapbmp);
BitBlt(hDC, data.offsetx, data.offsety, data.bmpsize, data.bmpsize,
data.copydc, 0, 0, SRCCOPY);