🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #5144

Re: een algoritme...

#5144
From: Roel Schroeven
Date: Wed, 14 May 2003 11:15
73 lines
4181 bytes
TRAX wrote:

> Roel Schroeven wrote:
> 
>>TRAX wrote:
>>
>>>Roel Schroeven wrote:
>>>
>>>
>>>>TRAX wrote:
>>>>
>>>>
>>>>
>>>>>Maar mijn onclick event werkt niet :(
>>>>>Image->OnClick(draaiom(rij, kol));
>>>>>
>>>>>en dan krijg ik een error dat een void niet allowed is, ik heb er
>>>>>dan ook al een int van gemaakt die gewoon 0 return doet maar dat
>>>>>werkt ook niet
>>>>
>>>>Ik ben niet helemaal mee. Probeer je de even handler manueel op te
>>>>roepen? In welke context staat dat stukje code?
>>>
>>>Als ik al mijn images op mijn form zet, en in de tabel plaats wil ik
>>>ze een OnClick event meegeven (heb ik de help gekeken maar snap het
>>>prototype niet echt). Het onclick event zou de functie draaiom
>>>moeten oproepen (een void functie die eveneens gedeclareerd is op
>>>het fomr, dus dat is het probleem niet echt) die dmv de argumenten
>>>rij en kolom een aantal acties moet uitvoeren (veranderen van de
>>>Picture bv). blijkbaar is het niet zo simpel dat je gewoon kan
>>>zeggen:
>>>Image->OnClick(draaiom(rij, kol));
>>>Er moet nog wat bij of de syntax is niet juist. Heb al eens gekeken
>>>naar de event handlers die at design time op mijn form worden gezet
>>>maar raak er niet echt goed wijs uit hoe ik dit dynamisch moet
>>>meegeven.
>>
>>Je kan aan een event niet zomaar willekeurige parameters meegeven. Een
>>onclick event heeft bijv. dit als prototype:
>>
>>void __fastcall MyOnClick(TObject *Sender);
>>
>>Als je op een image klikt wordt die dan opgeroepen met in Sender een
>>pointer naar die image. Misschien heb je daar genoeg mee; als je
>>effectief rij en kolom nodig hebt, wordt het een pak ingewikkelder.
>>
>>Om dus die event handler toe te wijzen:
>>
>>pictabel[i][j]->OnClick = MyOnClick;
> 
> 
> 
> Eigenlijk heb ik inderdaad rij en kolom nodig ja, ik moet weten op welke
> image er geklikt is en dan moet ik gaan kijken naar een gelijkaardige tabel
> met id's in een klasse, die id is de naam van een jpg bestand, dat in de
> Picture van de Image moet komen.

Ah maar ik denk aan iets. Je kan daarvoor de Tag-property gebruiken. Als 
je de image aanmaakt, codeer je daar de rij en kolom in, bijv.:

Image->Tag = (rij << 16) | kolom;

In de event handler kan je ze er dan weer uithalen:

rij = (Sender->Tag >> 16) & 0xff;
kolom = Sender->Tag & 0xff;

Werkt wel alleen als rij en kolom elk in 16 bits passen, m.a.w. als ze 
kleiner blijven dan 65536.

-- 
"Codito ergo sum"
Roel Schroeven
Technical Details
Message-ID: <9zpwa.1546$1u5.247@afrodite.telenet-ops.be>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-03!sn-xit-01!sn-xit-09!supernews.com!news-out.visi.com!petbe.visi.com!feed2.news.rcn.net!rcn!news-out.cwix.com!newsfeed.cwix.com!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mail
References: <T%awa.698$1u5.156@afrodite.telenet-ops.be> <fXdwa.1083$1u5.154@afrodite.telenet-ops.be> <y%kwa.1270$1u5.216@afrodite.telenet-ops.be> <8nmwa.1335$1u5.157@afrodite.telenet-ops.be> <Iumwa.1342$1u5.172@afrodite.telenet-ops.be> <1rnwa.1395$1u5.221@afrodite.telenet-ops.be> <FNnwa.1422$1u5.241@afrodite.telenet-ops.be> <n_nwa.1437$1u5.182@afrodite.telenet-ops.be> <37owa.1443$1u5.153@afrodite.telenet-ops.be> <%iowa.1456$1u5.237@afrodite.telenet-ops.be> <2Yowa.1503$1u5.257@afrodite.telenet-ops.be>

Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit
X-Google-Thread: fcea4,dcf5f7295edf5117
X-Google-Attributes: gidfcea4,public
X-Google-ArrivalTime: 2003-05-14 04:16:08 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-03!sn-xit-01!sn-xit-09!supernews.com!news-out.visi.com!petbe.visi.com!feed2.news.rcn.net!rcn!news-out.cwix.com!newsfeed.cwix.com!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mail
From: Roel Schroeven <j4nff5m02@sneakemail.com>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4b) Gecko/20030507
X-Accept-Language: nl-be, nl, en-us, en
MIME-Version: 1.0
Newsgroups: be.comp.programming
Subject: Re: een algoritme...
References: <T%awa.698$1u5.156@afrodite.telenet-ops.be> <fXdwa.1083$1u5.154@afrodite.telenet-ops.be> <y%kwa.1270$1u5.216@afrodite.telenet-ops.be> <8nmwa.1335$1u5.157@afrodite.telenet-ops.be> <Iumwa.1342$1u5.172@afrodite.telenet-ops.be> <1rnwa.1395$1u5.221@afrodite.telenet-ops.be> <FNnwa.1422$1u5.241@afrodite.telenet-ops.be> <n_nwa.1437$1u5.182@afrodite.telenet-ops.be> <37owa.1443$1u5.153@afrodite.telenet-ops.be> <%iowa.1456$1u5.237@afrodite.telenet-ops.be> <2Yowa.1503$1u5.257@afrodite.telenet-ops.be>
In-Reply-To: <2Yowa.1503$1u5.257@afrodite.telenet-ops.be>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Lines: 74
Message-ID: <9zpwa.1546$1u5.247@afrodite.telenet-ops.be>
Date: Wed, 14 May 2003 11:15:17 GMT
NNTP-Posting-Host: 213.119.50.61
X-Complaints-To: abuse@telenet.be
X-Trace: afrodite.telenet-ops.be 1052910917 213.119.50.61 (Wed, 14 May 2003 13:15:17 MET DST)
NNTP-Posting-Date: Wed, 14 May 2003 13:15:17 MET DST
Organization: Telenet Internet