[C# 2.0] Treenode met custom control

Pagina: 1
Acties:

  • DrDelete
  • Registratie: Oktober 2000
  • Laatst online: 21:27
Ik heb een treeview. Daarin zitten allerlei custom treenodes die afgeleid zijn van de class treenode.

Elke custom treenode heeft de volgende info als public properties: min, max en actualscore.

Daarnaast heb ik een custom progressbar (usercontrol) gemaakt, genaamd "ScoreProgressBar" die ook met deze info gevoed wordt. Deze progressbar gaat zelf dan teken en de juiste kleuren gebruiken om de actuelescore te laten zien t.o.v. de min en max score (met de kleur rood tot groen)

De ScoreProgressBar wil ik samen laten smelten met de text van de treenode. De treeview wordt dan gevuld met op elke node eerst een progressbar en daarachter de treenode text.

De progressbar is wel te realiseren, alleen ik weet niet hoe ik de progressbar custom paint in combinatie met de treenode.

Hebben jullie wat tips?

  • Ruudjah
  • Registratie: November 1999
  • Laatst online: 06-09-2025

Ruudjah

2022

OnPaint herimplementeren in de ageleide klasse van treenode?

TweakBlog


  • DrDelete
  • Registratie: Oktober 2000
  • Laatst online: 21:27
Ruudjah schreef op donderdag 09 oktober 2008 @ 18:31:
OnPaint herimplementeren in de ageleide klasse van treenode?
dat was ook mijn idee, maar hoe kan ik de custom control daar in krijgen?

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Waarom zou je überhaupt een custom progressbar daarin willen krijgen als je toch de OnPaint herimplementeert? Teken in de OnPaint gewoon meteen een progressbar. Rectangle'tje voor de outline, rectangle'tje met fill voor de progressie et voila (of je moet 't wat gelikter willen hebben; in dat geval wat meer brushes en pens gebruiken :+ ).

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • DrDelete
  • Registratie: Oktober 2000
  • Laatst online: 21:27
RobIII schreef op donderdag 09 oktober 2008 @ 20:40:
Waarom zou je überhaupt een custom progressbar daarin willen krijgen als je toch de OnPaint herimplementeert? Teken in de OnPaint gewoon meteen een progressbar. Rectangle'tje voor de outline, rectangle'tje met fill voor de progressie et voila (of je moet 't wat gelikter willen hebben; in dat geval wat meer brushes en pens gebruiken :+ ).
heel simpel: ik heb 3 verschillende treenodes. Elke treenode zou dan zijn eigen onpaint routine moeten schrijven met de progressbar zaken daarin. Dan zou ik dus 3 x die code moeten kopieren.

  • whoami
  • Registratie: December 2000
  • Laatst online: 01-01 03:23
ooit al van inheritance/overerving gehoord ?

https://fgheysels.github.io/


  • DrDelete
  • Registratie: Oktober 2000
  • Laatst online: 21:27
whoami schreef op donderdag 09 oktober 2008 @ 21:36:
ooit al van inheritance/overerving gehoord ?
ja en? Wat wil je bereiken hiermee dan?

  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 01-01 17:34

Sebazzz

3dp

Custom control?

[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
DrDelete schreef op vrijdag 10 oktober 2008 @ 22:18:
[...]


ja en? Wat wil je bereiken hiermee dan?
:? Dat je maar 1 keer die OnPaint hoeft te implementeren?

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Ruudjah
  • Registratie: November 1999
  • Laatst online: 06-09-2025

Ruudjah

2022

Waarom zou je überhaupt een custom progressbar daarin willen krijgen als je toch de OnPaint herimplementeert? Teken in de OnPaint gewoon meteen een progressbar. Rectangle'tje voor de outline, rectangle'tje met fill voor de progressie et voila (of je moet 't wat gelikter willen hebben; in dat geval wat meer brushes en pens gebruiken ).
Een goede reden is OS native rendering. Een rectangle-tje painten ziet er nogal windows 3.11 uit, terwijl je het liefste de native Vista look hebt als die beschikbaar is (of XP, of Mono, of...). Pak je een bestaand control en ga je die renderen in een ander control, heb je dat probleem niet.

Wat je kan doen is simpelweg een ander control in je treenode control stoppen. Een child control dus.

Edit: Rob, las ik niet iets op je blog met OS native rendering btw :+

[ Voor 4% gewijzigd door Ruudjah op 11-10-2008 14:52 ]

TweakBlog


  • Aphelion
  • Registratie: Januari 2002
  • Laatst online: 23-12-2025
Dus waarom niet iets van.

OnPaint()
{
base.OnPaint();
// Hier eigen code die er iets overheen gooit
}

Feeling lonely and content at the same time, I believe, is a rare kind of happiness


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Ruudjah schreef op zaterdag 11 oktober 2008 @ 14:51:
Edit: Rob, las ik niet iets op je blog met OS native rendering btw :+
Jazeker ;) Maar native worden progress bars in treeviews dan ook niet ondersteund :P Daarbij kun je bij een custom paint methode natuurlijk wel nog altijd de systeemkleuren e.d. aanhouden; die zijn niet voor niets allemaal 'benoemd'.

[ Voor 10% gewijzigd door RobIII op 11-10-2008 15:12 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij

Pagina: 1