PDA

Tam Sürümünü Görmek İçin : c++ buildier ile directx, activex kullanımı


shark_hack
07/12/2004, 17:17
merhaba arkadaşlar... c++ buildier ile directx veya activex kullanımı hakkında detaylı bilgi si olan varmı?
birde bana bu programı nasıl yapacağımı söyleyebilirmisiniz...
-formun üzerinde mausenin geçtiği yerlere noktaları doldurmayı nasıl yapabilirim..
örneğin elle mauseyi formun üzerinde, belirdi bir yerden başka biryere hareket ettirdiğimizde mausenin geçtiği yerleri sanal çizgi olarak bellekte tutacak... ve mausenin form üzerinden geçtiği bu yerleri noktalar ile dolduracak... bunu nasıl yapabilirim??
bilgisi yada yardımcı kodları olan varmı?


shark_hack
07/12/2004, 18:30
????????????????????

shark_hack
07/12/2004, 18:35
c++ buildier ile ben formun üzerinde iken mausenin gezdiği bütün yerlerin koordinatlarını matrix olarak tutmak ve daha sonra bu koordinatlara form üzerinde noktalar koymak istiyorum... bu işlemi nasıl yapabilirim... örnek kodu olan varmı yalnız çok acil...

shark_hack
07/12/2004, 20:13
bu forumda c++ buildierle uğraşan yok mu???

shark_hack
08/12/2004, 16:40
??????????????*

shark_hack
08/12/2004, 16:52
??????????????*

acehreli
08/12/2004, 20:15
C++ Builder kullanan olsa bile, herhalde istediginin nasil yapildigini bilen yok. Daha uygun bir forum bulmak zorundasin galiba...

Ali

Volkan Uzun
08/12/2004, 21:30
c++ builder bilmiyorum,
win32 apisi ile anlatiyim belki sen ciakrtirsin
bir vector tanimla Point leri iceren
OnMouseMove eventininde bu vector e her degeri bas.

neurorebel
09/12/2004, 04:51
Borlandın hiçbişeyini kullanma derim... Windows için en iyi geliştirme aracı bence VC++... Borland C++ Builder'la C++'ın dibine vuramazsın :) gerçi MFC'ye çok bağımlı kaldığında aynısı oluyor ama neyse...

shark_hack
09/12/2004, 16:08
sanal_programcı teşekkür ederim. verdiğin cevap için ama konuyu biraz daha açarsan sevinirim.. ben vc++ ile yazmaya karar verdim.. win23 kullankta biraz eksiğim.. yardımcı olursanız sevinirim...

Volkan Uzun
10/12/2004, 07:34
1-win32 ile veya mfc ile bir dialog yaratiyorsun.
2- onmousemove eventinde, tnaimladigin vektore pointlerei yaziyorsun
3- onpaintte vektoru ekrana basiyorsun
hangi adimi anlamadin
-------------
asagida cok optimize olmasada istedigin isi yapan bir ornek verdim
------------
<code>
#include<windows.h>
#include<vector>


LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);

int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrev,LPSTR lpCmd,int nShow)
{
static TCHAR szAppName[]="MouseMoveFill";
MSG msg;
WNDCLASS wcl;
HWND hwnd;

wcl.cbClsExtra = 0;
wcl.cbWndExtra = 0;
wcl.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH);
wcl.hCursor = LoadCursor(NULL,IDC_ARROW);
wcl.hIcon = LoadIcon(NULL,IDI_APPLICATION);
wcl.hInstance = hInst;
wcl.lpfnWndProc = WndProc;
wcl.lpszClassName = szAppName;
wcl.lpszMenuName = NULL;
wcl.style = CS_HREDRAW|CS_VREDRAW;

if (!RegisterClass(&wcl))
{
MessageBox(NULL,"Problem with registering windows wcl","Error",MB_OK|MB_ICONERROR);
return 1;
}

hwnd = CreateWindow(szAppName,"Click mouse and move it",WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,
CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NUL L,hInst,NULL);

ShowWindow(hwnd,nShow);
UpdateWindow(hwnd);

while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}

return msg.wParam;

}

LRESULT CALLBACK WndProc(HWND hwnd,UINT msg, WPARAM wParam,LPARAM lParam)
{

static std::vector<POINT>mouseMoves;
POINT point;
HDC hdc;
PAINTSTRUCT ps;
int i,k;

switch(msg)
{


case WM_MOUSEMOVE:
if(wParam&MK_LBUTTON)
{
point.x = LOWORD(lParam);
point.y = HIWORD(lParam);
mouseMoves.push_back(point);

hdc = GetDC(hwnd);
SetPixel(hdc,LOWORD(lParam),HIWORD(lParam),0);
ReleaseDC(hwnd,hdc);
}
break;



case WM_PAINT:
hdc = BeginPaint(hwnd,&ps);

SetCursor (LoadCursor (NULL, IDC_WAIT)) ;
ShowCursor (TRUE) ;
k = mouseMoves.size();
for(i=0;i<k;i++)
SetPixel(hdc,mouseMoves[i].x,mouseMoves[i].y,0);

ShowCursor (FALSE) ;
SetCursor (LoadCursor (NULL, IDC_ARROW)) ;
EndPaint (hwnd, &ps) ;

break;

case WM_DESTROY:
PostQuitMessage(0);
return 0;


}
return DefWindowProc(hwnd,msg,wParam,lParam);

}
</code>

shark_hack
10/12/2004, 16:51
teşekkürler.. işime çok yaradı... işte bana bunları anlatan bir online kaynak lazım.. benim aradığım bu gibi konular... bilmem anlatabildimmi... online döküman veya kaynak verebilirmisiniz?

shark_hack
10/12/2004, 17:01
ha bir sorum daha olacak ben bunları dev c++ ta nasıl çalıştırabilirim.. hiç kullandınız mı?

shark_hack
10/12/2004, 17:06
DEV C++ ile programını derledim fakat aşağıdaki satırda bi hata veriyor;
HWND=CreateWindow(szAppName,"Click mouse and move it",WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,C W_USEDEFAULT,CW_USEDEFAULT,NULL,NUL L,hInst,NULL);

acaba bu devc++ ta derlediğim için midir yoksa daha farklı bir hatamıdır..?

shark_hack
10/12/2004, 17:10
TAMAM hatayı buldum... null lardan birisi hatalıymış... ya teşekkür ederim.. bunlarla ilgili döküman yollarsan sevinirim...

Volkan Uzun
10/12/2004, 18:06
dokumanim yok kusura bakma, devc++ ile burada yazdigim seyleri derleyebilirsin evet.
kolay gelsin

shark_hack
10/12/2004, 18:23
bildiğin site falan damı yok ben bulamadım yani buldum da ayrıntılı değil...

Volkan Uzun
10/12/2004, 18:27
msdn,codeproject en cok baktigim iki site

shark_hack
10/12/2004, 18:32
tamam bakarım... sana bi soru soracam ya bir button, text yada ne bileyim ikinci bir form oluşturma bunları dc++ nasıl yapabilirm... bunlara ait bir örneğin var mı?

Volkan Uzun
10/12/2004, 23:32
hepsi ayni fonksiyonla : CreateWindow ile yapiliyor, sadece bu fonksiyonun ilk parametresi TEXT,BUTTON vs diye degisiyor
msdnde onlarca ornek bulursun sanirim