Jeg er ved at lave et activeX object hvor jeg benytter CDC klassen. Jeg laver en speciel liste. Jeg vil så gerne ha' at kontrollen kan benytte sig af slidebar's når tekst og grafik når over sit rect.
Jeg har så set på SubClassing. Håber i kender det...
Problemet for mig er nu bare at jeg gerne vil resize min slidebar så den passer perfekt ind i min kontrol, men hvordan kan jeg styre kontrollen ? Umiddelbart kan jeg godt sætte dens rcBounds til en variabel størrelse, men det ændrer naturligvis ikke på kontrollens størrelse, som fylder hele mit rect. Nogen idéer?
nej jpk det mener jeg nemlig heller ikke. Man burde vel kunne oprette ny klasse, som nedarver funktionaliteten. Tilføje OnCreate til klassen + obj.Create(....) og derefter tegne den ikke ?
Ja jeg kan nedarve en CScrollBar, men jeg synes ikke den kommer frem i min control. Når jeg gerne vil tegne sådan en common control går den ikke -der dukker ikke noget op.. Der er måske noget med CDC klassen?
Hvilken type liste er det du laver? Kan du ikke bruge CListBox til at bygge videre på? CListBox har jo allered megen funktionalitet (også scrolling) som du kan bruge. Du kan se eksempler på specialiseringer af CListBox på http://codeguru.earthweb.com/listbox/index.shtml
Ja det er jo så en der selv er udviklet specielt til et program vi selv har udviklet. Vi har så udviklet den som activeX kontrol -så vi kan vælge at opdatere flere "views"/acticeX på én gang. Desværre blev vores kontrol lavet sådan at tekst/overskrift osv.. er lavet med CDC klassen. Min opgave er så at tilføje scrollbars i tilfælde af at kundens display er for småt. Så jeg skal manuelt tegne de scrollbars. Dvs. en listbox er out of scope.
Der skal implementeres med det i forvejen udviklede.
Du skal IKKE tegne scrollbars manuelt! En CScrollBar (ligesom andre kontroller) tegner sig selv...
Okay, hvis jeg har forstået rigtig, så gælder følgende: - Kontrollen kan vise noget tekst - Hvis teksten fylder mere i højden/bredden end der er plads til i kontrollen, skal der vises scroll bars
Bliver teksten ikke vist i et vindue på kontrollen eller er det selve kontrollens DC der bliver brugt til at tegne teksten på?
nej hele vinduet benyttes. Så det er bare et spørgsmål om at jeg tegner sådan en scrollbar og så selv placerer den. De beskeder som jeg så modtager kan jeg sagtens "handle"
Alle vinduer/kontroller der nedarver fra CWnd har jo automatisk mulighed for at vise scrollbars, har du prøvet at slå Horizontal scroll/Vertical scroll til i resource-editoren?
YES YES YES!!! Se nu får jeg dem frem. Hvordan linker jeg så dem til et object? Fordi nu er de jo så grafisk repræsenteret. Dvs. de er enabled. Kan jeg så ikke flytte dem til en ny position og så "koble" et object til dem?
Det har godt nok været lidt i bero. Men det med at jeg skal flytte min scroll-bar er fordi at jeg tegner en ramme omkring teksten. De scrollbars skal så være indenfor denne ramme og -derefter skal teksten skrives. Dvs. jeg skal redraw min ramme hver gang og så bagefter flytte teksten alt efter hvor meget der trykkes på de respektive scrollbars.
Jo det ved jeg godt... men det er en meget speciel activeX control
Synes godt om
Ny brugerNybegynder
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.