» Utilizator
Salut, vizitatorule!

SkullBox este o comunitate formata din programatori si administratori de sisteme sau retele care iti sta la dispozitie cand ai o problema legata de calculatoare. Daca esti un utilizator existent, autentifica-te.

Daca nu te-ai inregistrat inca pe forum, alatura-te noua astfel marind comunitatea si ajutandu-i pe cei care au nevoie de informatii.

Daca te-ai inregistrat dar inca nu ai primit codul de activare, il poti cere aici.




Autentifica-te cu numele de utilizator si parola pentru a putea posta pe forum sau pentru a accesa ariile disponibile doar utilizatorilor inregistrati.
» Promovam
» Parteneri » Statistici
  • 59624 de mesaje.
  • 7135 de topicuri.
  • 987 de utilizatori.
  •  
  • sandaa e ultimul utilizator inregistrat.
[Detalii]

 
SkullBox Forum  |  Development  |  Java / C / C++ / C# (Moderators: AnaKonD, astan)  |  Topic: Draw on top
Pagini: [1]
Print
Draw on top [287 afisari]
Th3 P!mp
*


Mesaje: 186
OfflineOffline

WWW

Buna este vreo metoda de a desena pixeli peste orice fereastra, direct pe ecran(sa zicem ca vrei sa desenezi diagonala monitorului cu verde ... ceva de genu')

Nu cam am timp sa caut ca sunt la lucru hee hee

Mersi, o zi placuta
Logged

18-06-2009, 09:01 Twitt ::
Claudiu
*


Mesaje: 1368
OfflineOffline

WWW

Ma gandesc ca sunt metode care sa faca ce vrei tu, dar ar fii doua alternative (asa cum le vad eu acum).

1. Iei screenshot si te joci cu ea in full-screen
2. Fullscreen/Transparent window

Primul lucru la care m-am gandit au fost jocurile alea mai vechi unde puteai sa nenorocesti ecranul cu diverse unelte Tongue

Stiu ca mai erau si programele cu ninsoare pe ecran care se aduna pe ferestre etc., dar presupun ca asta tine de API-ul de Windows...
Logged

18-06-2009, 09:06 Twitt ::
DarkByte
*


Mesaje: 3333
OfflineOffline

WWW

Nu stiu cum se face in C++ / C#, dar in Delphi e chiar simplu.

Aici ai un exemplu, poate poti face niste analogii. Sper sa-ti fie de folos Smile

Bafta
Logged

Document my code? Why do you think it's called "code"?

To think is to differ - Clarence Darrow
18-06-2009, 09:11 Twitt ::
Claudiu
*


Mesaje: 1368
OfflineOffline

WWW

Canv.Handle := GetWindowDC(0);

Nice hee hee Trebuie sa fie si in C++ ceva de genul, dar nu cunosc eu API'ul de Windows Sad
Logged

18-06-2009, 09:15 Twitt ::
DarkByte
*


Mesaje: 3333
OfflineOffline

WWW

GetWindowDC e API de Windows. Rezultatul (TCanvas in Delphi) pare sa fie HDC in C (Handle of Device Context, I guess).
Logged

Document my code? Why do you think it's called "code"?

To think is to differ - Clarence Darrow
18-06-2009, 09:20 Twitt ::
Claudiu
*


Mesaje: 1368
OfflineOffline

WWW

Pentru C#

Pentru C++, setezi prima oara o fereastra transparenta (codul e de pe MSDN)
Code:
//C++
private:
   void CreateMyOpaqueForm()
   {
      // Create a new form.
      Form* form2 = new Form();
      // Set the text displayed in the caption.
      form2->Text = S"My Form";
      // Set the opacity to 75%.
      form2->Opacity = .75;
      // Size the form to be 300 pixels in height and width.
      form2->Size = System::Drawing::Size(300,300);
      // Display the form in the center of the screen.
      form2->StartPosition = FormStartPosition::CenterScreen;

      // Display the form as a modal dialog box.
      form2->ShowDialog();
   }

Apoi faci fereastra allways on top (de pe CodeGuru)
Code:
void CTopDlgDemoDlg::StayOnTop() const
{
 CRect rect;

 // get the current window size and position
 GetWindowRect( rect );

 // now change the size, position, and Z order
 // of the window.
 ::SetWindowPos(m_hWnd ,       // handle to window
                HWND_TOPMOST,  // placement-order handle
                rect.left,     // horizontal position
                rect.top,      // vertical position
                rect.Width(),  // width
                rect.Height(), // height
                SWP_SHOWWINDOW // window-positioning options);
}

Cel putin asta e principiul, sunt la lucru acum si nu am timp sa testez, hope this helps
Logged

18-06-2009, 09:42 Twitt ::
Th3 P!mp
*


Mesaje: 186
OfflineOffline

WWW

hmm ...  Thinking
daca desenez oriunde pe ecran oare va trebui sa sterg si sa redesenez daca trebuie animatie sau sa schimb pozitia ... si windowsu' va sti sa isi redeseneze componentele .. hee hee cred

mai multe deseara cand ajung pe acasa
Mersi tuturor  Big hug Peace sign
Logged

18-06-2009, 09:43 Twitt ::
payne
*


Mesaje: 1063
OfflineOffline

WWW

http://bytes.com/groups/net-c/263740-draw-directly-screen
Logged


WIK-What I Know

18-06-2009, 09:51 Twitt ::
Claudiu
*


Mesaje: 1368
OfflineOffline

WWW

One more thing, in timp ce "goagoluiam" am dat peste cineva care spunea ca nu se poate desena peste ceva care deseneaza folosind hardware rendering (de obicei jocuri), in sensul ca le minimalizeaza, dar asta vei vedea in practica daca se poate sau nu.

Quote
hmm ...  Thinking
daca desenez oriunde pe ecran oare va trebui sa sterg si sa redesenez daca trebuie animatie sau sa schimb pozitia ... si windowsu' va sti sa isi redeseneze componentele .. hee hee cred

Pentru animatie faci exact cum ai face intr-o fereastra normala. Metoda cea mai simpla de animatie e sa desenezi pe un buffer, apoi pe ecran, stergi bufferul, il redesenezi si il afisezi iar pe ecran, e double buffering.
Logged

18-06-2009, 09:57 Twitt ::
Th3 P!mp
*


Mesaje: 186
OfflineOffline

WWW

Code:
#include <iostream>
#include <windows.h>

using namespace std;

HDC desktop;

void CALLBACK onTimer(HWND hwnd, UINT uMsg, UINT idEvent, DWORD dwTime)
{
for(int i=0; i<500; i++)
SetPixel(desktop, i, i, 99999);
}

int main()
{
desktop = GetWindowDC(NULL);

int id;
MSG msg;

id = SetTimer(NULL, 0, 33, (TIMERPROC) onTimer);
while(true)
{
GetMessage(&msg, NULL, 0, 0);
DispatchMessage(&msg);
}

}

Smile
am vazut postul si am zis sa incerc sa desenez
Logged

28-06-2009, 20:40 Twitt ::
Reclama
VIP

Hosting

Mesaje: 25.90
OnlineOnline

WWW
 

   Pe ABCDomenii: 250MB spatiu + 20GB trafic + 5 subdomenii = 0.95 €
 
 

The problem with troubleshooting is that trouble shoots back.
Azi 
Pages: [1]
Print
SkullBox Forum  |  Development  |  Java / C / C++ / C# (Moderators: AnaKonD, astan)  |  Topic: Draw on top
Jump to: