Avatar billede baltazar_ Nybegynder
04. maj 2003 - 21:42 Der er 8 kommentarer

finde ud af om icon er i rect område ?

Hvordan for man et icons Cpoint. Og hvorledes kan man detecte om dette icon ( m_hIcon ) er inde for et af rect`sne jeg har lavet
Jeg opretter mine rects således

CRect rect[x][y];
Avatar billede tam Nybegynder
04. maj 2003 - 22:07 #1
Jeg ved ikke hvordag du finder ud af hvor et icon et tegnet...
Tegner du det selv?
Hvilken type window er det i?

Men, hvis du vil checke om et point er i et rect kan du bruge funktionen PtInRect(), eller når du nu bruger CRect kan du bruge CRect::PtInRect(). Denne checker om et givent punkt er indenfor en rect...
Avatar billede baltazar_ Nybegynder
04. maj 2003 - 23:06 #2
Ja jeg tegner selv iconet.

Jeg ved hvorledes man finder ud af hvordan et point er i et rect. Den er kalret, men jeg ved bare ikke hvorledes jeg kan finde ud af om iconèts point er i et rect.
Avatar billede bertelbrander Novice
04. maj 2003 - 23:49 #3
RECT r;
::GetWindowRect(m_hIcon, &r);
CRect cr = r;

CPoint ptl = cr.TopLeft();
CPoint pbr = cr.BottomRight();
int i, j;

for(i = 0; i < x; i++)
{
  for(j = 0; j < y; j++)
  {
    if(rect[i][j].PtInRect(ptl) && rect[i][j].PtInRect(pbr))
    { // iconet er inden for rect[i][j]
      IconIsInRectGrid(i, j);
    }
  }
}
Avatar billede baltazar_ Nybegynder
05. maj 2003 - 00:00 #4
Bertel...

Jeg for flg fejl, kan du guide mig med denne.

cannot convert parameter 1 from 'struct HICON__ *' to 'struct HWND__ *'

i denne linie.

::GetWindowRect(m_hIcon, &r);

hvad tror du der mangler.
Avatar billede bertelbrander Novice
05. maj 2003 - 00:05 #5
::GetWindowRect((HWND )m_hIcon, &r);
(ja, jeg er lidt doven i aften)
Avatar billede baltazar_ Nybegynder
05. maj 2003 - 00:10 #6
kan du forklare denne linie med dælen der sker her.Hvad den gør her i denne linie ...msåke et dumt spørgsmål, men jeg forstår ikke menningen med IconIsInRectGrid(i, j).  Jeg går ud fra det bare er noget fyld du har skrevet
?
Avatar billede bertelbrander Novice
05. maj 2003 - 01:20 #7
Ja, IconIsInRectGrid er en funktion der kaldes når/hvis du har fundet det rect hvori ikonet befinder sig, den er der kun for demo formål og skal erstattes med din egen kode.
Avatar billede baltazar_ Nybegynder
05. maj 2003 - 01:23 #8
ok tak skal du have
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