Arkadaşlar C++ ta mausenın bulundugu x y kordınatlarını nasıl okuruz.
Bu işi yapan bir fonksiyon varmıdır?? :roll:
Bunun için fonksiyonları kendin yazmalısın, ya da hazır bir komut bulmalısın.
Mesela CVI için hazır bir fonk var.
Function name: GetGlobalMouseState
Obtains information about the state of the mouse cursor. xCoordinate and yCoordinate return the position of the mouse relative to the top, left corner of the screen.
Prototype
int GetGlobalMouseState (int *Panel_Handle, int *XCoordinate, int *YCoordinate, int *Left_Button_Down, int *Right_Button_Down, int *Key_Modifiers);
Bu fonksiyon userint.h isimli kütüphaneyi kullanır.
Kendin yazmak istersen işin içine x86 asm girer.
borland c++ da kendi mousemove özelliğinde x ve y koordinatları veriyor
void __fastcall TForm1::FormMouseMove(TObject *Sender, TShiftState Shift,
int X, int Y) gibi
WM_MOUSEMOVE danda yararlanılabilir
konumlandırmak istersen SetCursorPos(x,y);
Borland C++ ın o ozellıgını bılıyorumda benım derdım konsoldan bu ısı nasıl yaparız yada yapabılırmıyız(sanırım yapılamıyor)?
Benım asıl yapmak ıstedıgım olay C++ kullanarak komutlar ıle bır fonksıyon olusturmak.Bu fonksıyonun gorevı benım ıstedıgım bır bolgede sanal bır buton olusturacak ve mause ıle o bolge ıcersınde bır tıklama olursa baska ıslemler yapıcak felan.
Bunu C++ ta ,konsolda, yapabılırmıyım yoksa yapamazsam baska nerde yapabılırım :?:
butonlar aracılığıyla sanal klavye mouse gibi bişi yapmak yapmak istiyorsun sanırım.
{
TPoint K;
GetCursorPos(K);//mousenin bulunduğu koordinat alındı
SetCursorPos((K.x+100),(K.y+100)); // bulunduğu yerden x,y +100 iler gitti
}
yeni nesne yapmak istersen
sanal tıklama için
{
mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);// sanal olarak sol butona basıldı
mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);// sanal olarak sol buton bırakıldı
//bu değerler winuser.h içersinde tanımlı c++builder kullanıyorsan ctrl+farenin sol tuşuna basarsan tanımlandıkları yer çıkar
}
yeni nesne tanımlama
{
/* private: TButton* Butonum; // *.h altında olan yere tanımlama yapmasanda olur fakat activecontrol yapılırken nesne bulunması için yararı olur. form içindede tanımlanabilir */
/* TButton *Butonum; gibi */
Butonum=new TButton(Form1); // veya hangi formda oluşturmak istersen
Butonum->Parent = Form1; // veya hangi formda oluşturmak istersen
Butonum->Caption = "konsol butonu ";
Butonum->Left = 100;
Butonum->Top = 100;
SetCursorPos(100,100);// Mouse üzerine geldi
mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
// buradan nesne olaylarını nereye yönlerdiysen oaraya gider
}
klavye istersen
{
keybd_event(VK_DOWN, MapVirtualKey(VK_DOWN, 0), 0, 0);// aşağı ok tuşuna basıldı
keybd_event(VK_DOWN, MapVirtualKey(VK_DOWN, 0), KEYEVENTF_KEYUP, 0); //tuş bırakıldı
}
geri kalanı senin hayal gücüne kalıyor.. iyi çalışmalar