Avatar billede starfish Nybegynder
27. juni 2001 - 13:44 Der er 3 kommentarer og
1 løsning

Drawgrid og billeder

Hejsa. Jeg skal lave et drawgrid, så det kan vise flg:
1 ============    =========          ========
2  ====  ===========  ============
3 ========= ========== ========== ======

Hvor 1,2,3 er rows i grid\'et og x-aksen skal deles ind i 48 halve timer, hvor et felt enten kan være sort, eller ikke sort. Og hvor \'=\' er symboliseret ved sorte felter. Det skal bruges at vise om en given computer er reserveret på bestemte tidspunkter.

Hvordan tegner jeg f.eks. et sort felt (eller billede) i et givent (column,row)??

Det skulle gerne ende med, at jeg kan lave linjer, der ligner MS Projekt en smule. Altså er det bare en start at de skal være sorte/ikke sorte. Bare for at fange ideen.

Er helt på bar bund. Et simpelt konkret eksempel er ønsket!
Avatar billede martinlind Nybegynder
27. juni 2001 - 13:50 #1
Lav den ownerdraw\'et, og lav en FillRect(), med den rigtige farve på din brush, så kører det, du skulle måske overveje en drawgrid istedet, hvis du ikke skal bruge strengende til noget.
Avatar billede starfish Nybegynder
27. juni 2001 - 16:38 #2
Jeg bruger et Drawgrid, og har fået det til at virke i onDrawCell. jeg har bare et problem, at jeg ikke kan finde ud af at ændre i griddet andre steder fra en onDrawCell, da jeg ikke kan finde ud af at hente \"Rect\" ud.


with (Sender as TDrawGrid).Canvas do begin
TextOut(Rect.Left + 2, Rect.Top + 2, \'MyText\')

Den rect kender jeg kun fordi Delphi selv sender den med, men hvis jeg vil opdatere griddet andetsteds fra, hvor jeg kun kender column og row, hvordan gør jeg så det?
Avatar billede martinlind Nybegynder
27. juni 2001 - 17:01 #3
Det kan du ikke direkte, du kan kalde InvalidateRect, eller bare Grid.Invalidate, det er måden, alt opdatering bør ligge i OnDraw, du kan evt. sætte doubleBuffer property\'en til TRUE, så ungår du flicker.
Avatar billede martinlind Nybegynder
27. juni 2001 - 17:03 #4
Du skal forøvrigt vende dig til at bruge DrawText fra API\'et istedet for TextOut, DrawText kan MEGET mere, du giver den bare Canvas.Handle med som HWND, det virker fint, og du kan aligne på alle leder og kanter
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester