Jeg har fået et program til at skrive "Hello World" hvor end man nu trykker på vinduet, problemmet ligger så i hvor jeg prøver at slette det igen.
Det virker fint det hele undtagen at slette det igen (en undo funktion), eller det bliver slettet, men først når jeg tager fat i kanten af programmet og resizer det manuelt.
Ved sletningen fjerner jeg den sidst tilføjede "Hello world" string.
Vinduet bliver bare ikke opdateret først jeg resizer det, som jeg sagde før.
Nogen der ved hvilken hvilken funktion jeg mangler for det virker? Altså en der opdaterer vinduet.
Programmet (bugget) kan hentes herfra:
http://psykocyber.zxq.net[...]
For det virker skal dette hentes og installeres:
http://www.microsoft.com[...]
534-3E03-4391-8A4D-074B9F2BC1BF&displaylang=en
Koden er lidt uoverskuelig pga. de manglende indrykninger.
//Udenladt kode ovenfor
struct TextObj
{
string s; // The string object.
POINT p; // The position of the string, relative to the
// upper-left corner of the client rectangle of
// the window.
};
vector gTextObjs;
LRESULT CALLBACK
WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
//objects for painting
HDC hdc = 0;
PAINTSTRUCT ps;
TextObj to;
switch(msg)
{
//Handle left mouse click
case WM_LBUTTONDOWN:
to.s = "Hello world!";
// Point that was clicked is stored in the lParam.
to.p.x = LOWORD(lParam);
to.p.y = HIWORD(lParam);
//Add to our global list of text objects
gTextObjs.push_back(to);
InvalidateRect(hWnd, 0, false);
return 0;
//Handle paint message
case WM_PAINT:
hdc = BeginPaint(hWnd, &ps);
for(int i = 0; i
--
Red jorden, det er den eneste planet med chokolade!