🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: alt.pl.comp.lang.csharp
8 messages
8 total messages Started by wojtek kurek Thu, 08 Apr 2004 18:42
polozenie obiektu na ekranie
#878
Author: wojtek kurek
Date: Thu, 08 Apr 2004 18:42
18 lines
1465 bytes
no i znowu mam problem (az mi glupio)

potrzebuje poznac położenie komponentu znajdującego się na formularzu, z 
  tym że nie względem formularza, a względem krawędzi ekranu.

Porównania położenie formularza ( this.DesktopLocation ) i położenia 
załóżmy PictureBox'a w formularzu nie dają prawidłowych rezultatów 
ponieważ dochodzą tam szerokości ramek i pasków formularza, a przy 
zmiennych stylach Windowsa powoduje to potem problem.

Stąd moje pytanie, czy można bezpośredno otrzymać położenie (załóżmy 
picturebox) wzgledem krawędzi ekranu?

Z góry dziekuje

-- 
pozdrawiam
wojtek kurek
Re: polozenie obiektu na ekranie
#879
Author: Showstoppa
Date: Thu, 08 Apr 2004 19:56
23 lines
1620 bytes
Thu, 08 Apr 2004 20:42:13 +0200, na alt.pl.comp.lang.csharp, wojtek kurek
napisał(a):

> no i znowu mam problem (az mi glupio)
> 
> potrzebuje poznac położenie komponentu znajdującego się na formularzu, z 
>   tym że nie względem formularza, a względem krawędzi ekranu.
> 
> Porównania położenie formularza ( this.DesktopLocation ) i położenia 
> załóżmy PictureBox'a w formularzu nie dają prawidłowych rezultatów 
> ponieważ dochodzą tam szerokości ramek i pasków formularza, a przy 
> zmiennych stylach Windowsa powoduje to potem problem.
> 
> Stąd moje pytanie, czy można bezpośredno otrzymać położenie (załóżmy 
> picturebox) wzgledem krawędzi ekranu?
> 
> Z góry dziekuje

o to chodzi ?
this.Location.X
this.Location.Y

pozdrawiam
Re: polozenie obiektu na ekranie
#880
Author: wojtek kurek
Date: Thu, 08 Apr 2004 20:01
34 lines
2067 bytes
Użytkownik Showstoppa napisał:

> Thu, 08 Apr 2004 20:42:13 +0200, na alt.pl.comp.lang.csharp, wojtek kurek
> napisał(a):
> 
> 
>>no i znowu mam problem (az mi glupio)
>>
>>potrzebuje poznac położenie komponentu znajdującego się na formularzu, z 
>>  tym że nie względem formularza, a względem krawędzi ekranu.
>>
>>Porównania położenie formularza ( this.DesktopLocation ) i położenia 
>>załóżmy PictureBox'a w formularzu nie dają prawidłowych rezultatów 
>>ponieważ dochodzą tam szerokości ramek i pasków formularza, a przy 
>>zmiennych stylach Windowsa powoduje to potem problem.
>>
>>Stąd moje pytanie, czy można bezpośredno otrzymać położenie (załóżmy 
>>picturebox) wzgledem krawędzi ekranu?
>>
>>Z góry dziekuje
> 
> 
> o to chodzi ?
> this.Location.X
> this.Location.Y
> 
> pozdrawiam

no wlasnie to podaje polozenie formularza wzgledem ekranu, a chodzi mi o 
uzyskanie polozenia obiektu uzytego w formularzu wzgledem ekranu.

-- 
pozdrawiam
wojtek kurek
Re: polozenie obiektu na ekranie
#881
Author: Showstoppa
Date: Thu, 08 Apr 2004 20:09
36 lines
2099 bytes
Thu, 08 Apr 2004 22:01:34 +0200, na alt.pl.comp.lang.csharp, wojtek kurek
napisał(a):

> Użytkownik Showstoppa napisał:
> 
>> Thu, 08 Apr 2004 20:42:13 +0200, na alt.pl.comp.lang.csharp, wojtek kurek
>> napisał(a):
>> 
>> 
>>>no i znowu mam problem (az mi glupio)
>>>
>>>potrzebuje poznac położenie komponentu znajdującego się na formularzu, z 
>>>  tym że nie względem formularza, a względem krawędzi ekranu.
>>>
>>>Porównania położenie formularza ( this.DesktopLocation ) i położenia 
>>>załóżmy PictureBox'a w formularzu nie dają prawidłowych rezultatów 
>>>ponieważ dochodzą tam szerokości ramek i pasków formularza, a przy 
>>>zmiennych stylach Windowsa powoduje to potem problem.
>>>
>>>Stąd moje pytanie, czy można bezpośredno otrzymać położenie (załóżmy 
>>>picturebox) wzgledem krawędzi ekranu?
>>>
>>>Z góry dziekuje
>> 
>> 
>> o to chodzi ?
>> this.Location.X
>> this.Location.Y
>> 
>> pozdrawiam
> 
> no wlasnie to podaje polozenie formularza wzgledem ekranu, a chodzi mi o 
> uzyskanie polozenia obiektu uzytego w formularzu wzgledem ekranu.

no ok, zgoda, ale jak teraz polaczysz np. this.button1.Location.X +
this.Location.X ?
Re: polozenie obiektu na ekranie
#882
Author: wojtek kurek
Date: Thu, 08 Apr 2004 20:41
58 lines
3077 bytes
Użytkownik Showstoppa napisał:
> Thu, 08 Apr 2004 22:01:34 +0200, na alt.pl.comp.lang.csharp, wojtek kurek
> napisał(a):
> 
> 
>>Użytkownik Showstoppa napisał:
>>
>>
>>>Thu, 08 Apr 2004 20:42:13 +0200, na alt.pl.comp.lang.csharp, wojtek kurek
>>>napisał(a):
>>>
>>>
>>>
>>>>no i znowu mam problem (az mi glupio)
>>>>
>>>>potrzebuje poznac położenie komponentu znajdującego się na formularzu, z 
>>>> tym że nie względem formularza, a względem krawędzi ekranu.
>>>>
>>>>Porównania położenie formularza ( this.DesktopLocation ) i położenia 
>>>>załóżmy PictureBox'a w formularzu nie dają prawidłowych rezultatów 
>>>>ponieważ dochodzą tam szerokości ramek i pasków formularza, a przy 
>>>>zmiennych stylach Windowsa powoduje to potem problem.
>>>>
>>>>Stąd moje pytanie, czy można bezpośredno otrzymać położenie (załóżmy 
>>>>picturebox) wzgledem krawędzi ekranu?
>>>>
>>>>Z góry dziekuje
>>>
>>>
>>>o to chodzi ?
>>>this.Location.X
>>>this.Location.Y
>>>
>>>pozdrawiam
>>
>>no wlasnie to podaje polozenie formularza wzgledem ekranu, a chodzi mi o 
>>uzyskanie polozenia obiektu uzytego w formularzu wzgledem ekranu.
> 
> 
> no ok, zgoda, ale jak teraz polaczysz np. this.button1.Location.X +
> this.Location.X ?

niestety nie do końca jest tak różowo, otóż chce umieścić krzyżyk na 
otwartym obrazku (w picturebox) w miejscu kliknięcia myszką, w tym celu 
musze podać punkt kliknięcia względem górnego rogu pola picturebox, w 
tym celu potrzebuje jego położenie względem narożnika ekranu, a 
wykorzystanie poleceń:
	Cursor.Position.X - this.Location.X - this.pictureBox1.Location.X
niestety nie daje dokładnego wyniku, ponieważ dochodzi szerokość ramki 
okna programu, która niestety nie jest stała i w zależności od użytego 
stylu okien w Windowsie moze sie zmieniac:(

Mam nadzije ze teraz troche bardziej szczegółowo udało mi sie nakreślić 
moj problem.

-- 
pozdrawiam
wojtek kurek
Re: polozenie obiektu na ekranie
#883
Author: Michal Wojas
Date: Thu, 08 Apr 2004 22:10
24 lines
1824 bytes
wojtek kurek wrote:
> no i znowu mam problem (az mi glupio)
>
> potrzebuje poznac po�o�enie komponentu znajduj�cego si� na
>   formularzu, z tym �e nie wzgl�dem formularza, a wzgl�dem kraw�dzi
> ekranu.
>
> Por�wnania po�o�enie formularza ( this.DesktopLocation ) i po�o�enia
> za��my PictureBox'a w formularzu nie daj� prawid�owych rezultat�w
> poniewa� dochodz� tam szeroko�ci ramek i pask�w formularza, a przy
> zmiennych stylach Windowsa powoduje to potem problem.
>
> St�d moje pytanie, czy mo�na bezpo�redno otrzyma� po�o�enie (za��my
> picturebox) wzgledem kraw�dzi ekranu?
>
> Z g�ry dziekuje

Musisz zapytac tej konkretnej kontrolki ... metoda
PointToScreen(p);

w szczegolnym przypadku gdy zapytasz o p(0,0) dostaniesz polozenie wzgledem
lewego dolnego rogu ekranu ...

MW
Re: polozenie obiektu na ekranie
#884
Author: wojtek kurek
Date: Thu, 08 Apr 2004 22:25
36 lines
2006 bytes
Użytkownik Michal Wojas napisał:
> wojtek kurek wrote:
> 
>>no i znowu mam problem (az mi glupio)
>>
>>potrzebuje poznac położenie komponentu znajdującego się na
>>  formularzu, z tym że nie względem formularza, a względem krawędzi
>>ekranu.
>>
>>Porównania położenie formularza ( this.DesktopLocation ) i położenia
>>załóżmy PictureBox'a w formularzu nie dają prawidłowych rezultatów
>>ponieważ dochodzą tam szerokości ramek i pasków formularza, a przy
>>zmiennych stylach Windowsa powoduje to potem problem.
>>
>>Stąd moje pytanie, czy można bezpośredno otrzymać położenie (załóżmy
>>picturebox) wzgledem krawędzi ekranu?
>>
>>Z góry dziekuje
> 
> 
> Musisz zapytac tej konkretnej kontrolki ... metoda
> PointToScreen(p);
> 
> w szczegolnym przypadku gdy zapytasz o p(0,0) dostaniesz polozenie wzgledem
> lewego dolnego rogu ekranu ...
> 
> MW
> 
> 

Dzieki wielkie. Bardzo mi to ułatwiło życie i pozwoliło troche uprościc 
kod :) jeszcze raz dzieki.

-- 
pozdrawiam
wojtek kurek
Re: polozenie obiektu na ekranie
#885
Author: Marek Janaszewski USUNTO. z adre...
Date: Thu, 08 Apr 2004 23:48
14 lines
1172 bytes
wojtek kurek wrote:
[...]
> Stąd moje pytanie, czy można bezpośredno otrzymać położenie (załóżmy
> picturebox) wzgledem krawędzi ekranu?
[...]

Witam!

W Win32 API jest ClientToScreen a w .NET Control.PointToScreen.

-- 
Pozdrawiam,
Marek Janaszewski
[ j_m...@gazeta.pl ]
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads