Skillnad mellan versioner av "Kap 14 Windowsprogrammering (54)"
Från Mathonline
		
		
		
Taifun  (Diskussion | bidrag) m  | 
				Taifun  (Diskussion | bidrag)  m  | 
				||
| (23 mellanliggande versioner av samma användare visas inte) | |||
| Rad 45: | Rad 45: | ||
<big>  | <big>  | ||
*     För att kunna rita i formen, använder vi oss av verktyg som finns i ritmetoden [[Om metoden OnPaint()|<b><span style="color:blue">OnPaint()</span></b>]].  | *     För att kunna rita i formen, använder vi oss av verktyg som finns i ritmetoden [[Om metoden OnPaint()|<b><span style="color:blue">OnPaint()</span></b>]].  | ||
| + | |||
*     Metoden <b>OnPaint()</b> är definierad i klassen <b>Form</b> som vi <i>ärver</i> i vår form <b>Form1</b>.  | *     Metoden <b>OnPaint()</b> är definierad i klassen <b>Form</b> som vi <i>ärver</i> i vår form <b>Form1</b>.  | ||
| − | *     För att kunna använda   | + | |
| + | *     Att använda en metods huvud som är definierad i en superklass och modifiera helt eller  | ||
| + |           delvis dess funktionalitet i subklassen, kallas i objektorienterad programmering (OOP) för  | ||
| + | |||
| + |           <b>polymorfism</b> (en metod med många gestalter).  | ||
| + | |||
| + | *     För att kunna använda ritverktygen i metoden [[Kap_14_Windowsprogrammering_(54)#Metoden_OnPaint.28.29_till_projektet_Draw|<b><span style="color:blue">OnPaint()</span></b>]], måste vi <i>överskugga (override)</i> den.  | ||
| + | |||
*     Att <i>överskugga (override)</i> en metod betyder att ta dess huvud och definiera om dess kropp:  | *     Att <i>överskugga (override)</i> en metod betyder att ta dess huvud och definiera om dess kropp:  | ||
| − | |||
          Man tar över metodens namn samt parametrar (huvud) och modifierar dess funktionalitet (kropp).  |           Man tar över metodens namn samt parametrar (huvud) och modifierar dess funktionalitet (kropp).  | ||
| − | *     Koncepten <i>  | + | *     Koncepten <i>arv (inheritance)</i>, <i>polymorfism</i> och <i>överskuggning (override)</i> kommer vi att lära oss    | 
| − | + |           i kursen [http://mathonline.se/Systemutv_Inb_Syst_Inneh_Struktur.pdf <b><span style="color:red">Systemutveckling för inbyggda system</span></b>].  | |
| − |           <b>  | + | |
</big>  | </big>  | ||
</div>  | </div>  | ||
| − | = <b><span style="color:#931136">  | + | = <b><span style="color:#931136">Metoden <span style="color:blue">OnPaint()</span> till projektet Draw</span></b> =  | 
<div class="ovnE">  | <div class="ovnE">  | ||
| − | + | === <b><span style="color:#931136">OBS! OnPaint() är ingen händelsemetod. Därför skriv eller klistra in koden bara:</span></b> ===  | |
<div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: OnPaint.jpg]]</div>  | <div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: OnPaint.jpg]]</div>  | ||
</div>  | </div>  | ||
| − | + | = <b><span style="color:#931136">Fullständiga instruktioner till detta projekt finns i [http://mathonline.se/Boken%20Programmering%20i%20C%20och%20Cpp.pdf <span style="color:blue">kursboken</span>], sid 434-437.</span></b> =  | |
| − | + | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | + | = <b><span style="color:#931136">14.11   Bågar och vinklar</span></b> =  | |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | = <b><span style="color:#931136">14.  | + | |
<div class="ovnE">  | <div class="ovnE">  | ||
| − | === <b><span style="color:#931136">Projektet   | + | === <b><span style="color:#931136">Projektet Arcs</span></b> ===  | 
| − | + | <div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: Arcs.jpg]]</div>  | |
| − | <div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image:   | + | |
| − | + | ||
</div>  | </div>  | ||
| − | = <b><span style="color:#931136">  | + | = <b><span style="color:#931136">Ny typ av grafisk applikation</span></b> =  | 
<div class="ovnA">  | <div class="ovnA">  | ||
<big>  | <big>  | ||
| − | + | *     Inget interaktivt gränssnitt. Inga kontroller.    | |
| − | + | *     Vi vill <b>rita</b> bågar och vinklarna ovan <b>i formen</b>.  | |
| − | + | *     OBS! <b>Undvik</b> att (dubbel)klicka på formen!  | |
| − | + |           Har du gjort det av misstag, stäng projektet och börja om!  | |
| − | + | ||
| − | + | ||
| − | + | ||
</big>  | </big>  | ||
</div>  | </div>  | ||
| − | = <b><span style="color:#931136">  | + | = <b><span style="color:#931136">Metoden <span style="color:blue">OnPaint()</span> till projektet Arcs</span></b> =  | 
<div class="ovnE">  | <div class="ovnE">  | ||
| − | <div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image:   | + | === <b><span style="color:#931136">OBS! Undvik att (dubbel)klicka på formen!</span></b> ===  | 
| + | <div style="border:1px solid black;display:inline-table;margin-left: 0px;"> [[Image: OnPaint_Arcs.jpg]]</div>  | ||
</div>  | </div>  | ||
| − | + | = <b><span style="color:#931136">Fullständiga instruktioner till detta projekt finns i [http://mathonline.se/Boken%20Programmering%20i%20C%20och%20Cpp.pdf <span style="color:blue">kursboken</span>], sid 438-439.</span></b> =  | |
<br><br>  | <br><br>  | ||
Nuvarande version från 19 december 2023 kl. 21.00
Ons 20 dec, kl 9-12
| << Agenda | Genomgång 54 | Övningar 54 | Innehåll & struktur | Nästa lektion >> | 
Kap 14 Windowsprogrammering (forts.)
14.10 Geometriska figurer
Ny typ av grafisk applikation
- Inget interaktivt gränssnitt. Inga kontroller.
 - Applikationen liknar snarare ett ritprogram.
 - Vi vill rita geometriska figurerna ovan i formen.
 - OBS! Undvik att (dubbel)klicka på formen!
 
Har du gjort det av misstag, stäng projektet och börja om!
Formens koordinatsystem
Att rita i formen
- För att kunna rita i formen, använder vi oss av verktyg som finns i ritmetoden OnPaint().
 
- Metoden OnPaint() är definierad i klassen Form som vi ärver i vår form Form1.
 
- Att använda en metods huvud som är definierad i en superklass och modifiera helt eller
 
delvis dess funktionalitet i subklassen, kallas i objektorienterad programmering (OOP) för
polymorfism (en metod med många gestalter).
- För att kunna använda ritverktygen i metoden OnPaint(), måste vi överskugga (override) den.
 
- Att överskugga (override) en metod betyder att ta dess huvud och definiera om dess kropp:
 
Man tar över metodens namn samt parametrar (huvud) och modifierar dess funktionalitet (kropp).
- Koncepten arv (inheritance), polymorfism och överskuggning (override) kommer vi att lära oss
 
i kursen Systemutveckling för inbyggda system.
Metoden OnPaint() till projektet Draw
Fullständiga instruktioner till detta projekt finns i kursboken, sid 434-437.
14.11 Bågar och vinklar
Ny typ av grafisk applikation
- Inget interaktivt gränssnitt. Inga kontroller.
 - Vi vill rita bågar och vinklarna ovan i formen.
 - OBS! Undvik att (dubbel)klicka på formen!
 
Har du gjort det av misstag, stäng projektet och börja om!
Metoden OnPaint() till projektet Arcs
Fullständiga instruktioner till detta projekt finns i kursboken, sid 438-439.
Gå vidare till: när du är klar med denna genomgång.
Copyright © 2023. All Rights Reserved.




