12. september 2001 - 23:59Der er
9 kommentarer og 1 løsning
getdc(?.handle);
Følgende kode virker korrekt:
var dc: hdc; rc: hglrc; begin dc := getdc(TabControl1.handle);//Actually, you can use any windowed control here setuppixelformat(dc); rc := wglcreatecontext(dc); //makes OpenGL window out of DC wglMakeCurrent(dc, rc); //makes OpenGL window active end;
Men hvis jeg erstatter TabControl1 med Panel1 så sker der ingenting. Jeg havde på fornemmelsen at det havde noget med Panel1\'s canvas at gøre men det har det ikke. For hvis jeg sætter en canvas på Panel1 således:
type Tcanvascontrol = class(Tcustomcontrol) property canvas; end;
...
var dc: hdc; rc: hglrc; begin dc := getdc(Tcanvascontrol(Panel1).canvas.handle);//Actually, you can use any windowed control here setuppixelformat(dc); rc := wglcreatecontext(dc); //makes OpenGL window out of DC wglMakeCurrent(dc, rc); //makes OpenGL window active end;
...
opstår der en fejlmeddelse! Så hvad han jeg gøre for at få det til at virke???
En Canvas.Handle er en HDC, det eks. du har er det en Control Handle du get\'er en HDC på, Prøv evt. at skrive Panel1.Handle, eller også droppe GetDC, da du har en HDC på den Canvas du vil bruge
Men prøv at se hvilken type TCancas,Handle er DET ER EN HDC, så du kan ikke get en HDC fra en HDC, det er ihvertfald en af fejlene, om der er flere ved jeg ikke.
He He... Ja det virker faktisk godtnok når jeg skriver følgende kode (UPS!!!):
...
var dc: hdc; rc: hglrc; begin dc := getdc(panel1.handle);//Actually, you can use any windowed control here setuppixelformat(dc); rc := wglcreatecontext(dc); //makes OpenGL window out of DC wglMakeCurrent(dc, rc); //makes OpenGL window active end;
...
Men jeg har fundet ud af at jeg bliver nødt til at \"opdatere\" min panel manuelt. Hvorfor opdatere den ikke automatisk ligesom tabcontrol\'en???
ikke engang når jeg henviser til formpaint(sender); procedure i min form\'s oncreate sker der noget!!! (mærkligt)...
en side spørgsmål: kan jeg overføre onmousemove, onmouseup & onmousedown events til min panel - uden at jeg skal lave en ny komponent der arver Tpanel\'en???
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.