Maleboge Mesaj tarihi: Eylül 8, 2003 Paylaş Mesaj tarihi: Eylül 8, 2003 Detaylı Bilgi için http://msdn.microsoft.com/library/ [hline] #include #include #include #include "resource.h" #define HIMETRIC_INCH 2540 //=================================================================================== HINSTANCE hInst; LPPICTURE gpPicture; //=================================================================================== HWND InitWindow(HINSTANCE hinst,DWORD dwIcon,DWORD dwMenu,char* szName,int x,int y,int w,int h); CenterWin(HWND hWnd,int w,int h); //=================================================================================== int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { MSG msg; hInst=hInstance; InitWindow(hInst,0,0,"JPEG Loader",0,0,0,0); while(GetMessage(&msg,NULL,NULL,NULL)) { TranslateMessage(&msg); DispatchMessage(&msg); } return 0; } //=================================================================================== PrePare() { DWORD hRes,hImg,dwFSize; hRes=(DWORD)FindResource(0,(LPCSTR)ABC,(LPCSTR)"IMAGE"); hImg=(DWORD)LockResource(LoadResource(0,(HRSRC)hRes)); dwFSize=SizeofResource(0,(HRSRC)hRes); HGLOBAL hGl=GlobalAlloc(0,dwFSize); memcpy(hGl,(void*)hImg,dwFSize); //---------------------------------------- LPSTREAM pstm=NULL; HRESULT hr = CreateStreamOnHGlobal(hGl,TRUE,&pstm); hr = OleLoadPicture(pstm, dwFSize, FALSE, IID_IPicture, (LPVOID *)&gpPicture); } //=================================================================================== LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wP, LPARAM lP) { long hmWidth; long hmHeight; RECT rc; int nWidth; int nHeight; PAINTSTRUCT ps; HDC hdc; switch (message) { case WM_CREATE: CenterWin(hWnd,280,200); PrePare(); return DefWindowProc(hWnd, message, wP, lP); break; case WM_PAINT: hdc=BeginPaint(hWnd,&ps); gpPicture->get_Width(&hmWidth); gpPicture->get_Height(&hmHeight); nWidth = MulDiv(hmWidth, GetDeviceCaps(hdc, LOGPIXELSX), HIMETRIC_INCH); nHeight = MulDiv(hmHeight, GetDeviceCaps(hdc, LOGPIXELSY), HIMETRIC_INCH); GetClientRect(hWnd, &rc); gpPicture->Render(hdc, 0, 0, nWidth, nHeight, 0, hmHeight, hmWidth, -hmHeight, &rc); EndPaint(hWnd,&ps); break; case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hWnd, message, wP, lP); } return 0; } //=================================================================================== HWND InitWindow(HINSTANCE hinst,DWORD dwIcon,DWORD dwMenu,char* szName,int x,int y,int w,int h) { WNDCLASSEX wcex; wcex.cbSize = sizeof(WNDCLASSEX); wcex.style = CS_HREDRAW | CS_VREDRAW; wcex.lpfnWndProc = (WNDPROC)WndProc; wcex.cbClsExtra = 0; wcex.cbWndExtra = 0; wcex.hInstance = hinst; wcex.hIcon = LoadIcon(hinst,(LPCTSTR)dwIcon); wcex.hCursor = LoadCursor(NULL, IDC_ARROW); wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW); wcex.lpszMenuName = (char*)dwMenu; wcex.lpszClassName = szName; wcex.hIconSm = LoadIcon(wcex.hInstance,(LPCTSTR)dwIcon); RegisterClassEx(&wcex); HWND hWnd; hWnd = CreateWindow(szName,szName, WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX | WS_BORDER , x, y, w, h, NULL,NULL,hinst, NULL); ShowWindow(hWnd,1); UpdateWindow(hWnd); return hWnd; } //=================================================================================== CenterWin(HWND hWnd,int w,int h) { HWND hDes; RECT rc1; hDes=GetDesktopWindow(); GetWindowRect(hDes,&rc1); rc1.bottom=rc1.bottom/2; rc1.right=rc1.right/2; MoveWindow(hWnd,rc1.right-(w/2),rc1.bottom-(h/2),w,h,1); }[hline]"Saçma Olmayan Hiçbir Fikrin Ümidi Yoktur"(A.Einstein) Criminal2's HomePage Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Lixad Mesaj tarihi: Eylül 10, 2003 Paylaş Mesaj tarihi: Eylül 10, 2003 Denemedim şu an ama bu sistemi giflerde direk böyle kullanamayızki?. transparancy? onu naısl halletcez yoksa o Render() fonksiyonu yapıyormu bu işi?. Yani mesela Gif load ettik tek framelikse sorun yokta animasyonsa nolcak yine dediğim gibi o render hallediyormu. ayrıca dikkat ettiğime göre o render fonksiyonu bize bir hwnd döndermiyor eğer gif yüklüyorsa virtual bir window create etmesi lazım diilmi. Onun timerlerı için falan?. Bizde gerektiğinde onu kapatabilmemiz için. Ben kullanamdım bilmiyorumda ama MFC kullandığımızda basit bir kaç işlemle bir explorer com u yerleştirebiliyoruz windowa ve ona isteidğimiz image in adresiniveridğimizde(local hardisk veya internet) onu direk load ediyor. Bu activex elementlerini win32 de kullanmayı biliyorsan o daha makbule geçer bak.[hline]Alma? Mater? Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Lixad Mesaj tarihi: Eylül 10, 2003 Paylaş Mesaj tarihi: Eylül 10, 2003 gif lerin encode edilmesiyle ilgili code ayzaiblirim buraya elimd eçok harika bir gif library si var onuda laızm olan varsa verebilirim. ek eksiği giflerde dosya boyutunu küçültmeye yarıyan değişmeyen bölgeleri transparant yapma olayı sorun ayratıyor çok uğraştım bir türlü beceremedim onu ama onada şöyle bir çözüm buldum. Photo Shop la açtığınızda custoımize menusunden kaldırabiliyorsunuz o özleliğini gif azcık fazla yer kaplıyor o zaman, o kadar. Ama buna çözüm bulursam üzeridne çalıştığım program için baya bir işe yarar. Çünkü program internet tabanlı çalışıyor sürekli gif çekiyor fln bu zamandan tasarruf sağlıyor. Az önce msdn den Oleyle bir picture load eden bir progrmıan kdoalrını çektim denemeler yaptım şimdi hayır olmuyor giflerin sadece ilk framesini yüklüyor.[hline]Alma? Mater? Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Maleboge Mesaj tarihi: Eylül 10, 2003 Konuyu açan Paylaş Mesaj tarihi: Eylül 10, 2003 transparan gifleri destekliyor bu kod ... ama senin problemin kullandığım kitaplıkla ilgili[hline]"Saçma Olmayan Hiçbir Fikrin Ümidi Yoktur"(A.Einstein) Criminal2's HomePage Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Rahan Mesaj tarihi: Eylül 10, 2003 Paylaş Mesaj tarihi: Eylül 10, 2003 http://www.relisoft.com/win32/index.htm buyur Lixad burda pek bi güzel bi win32 api tutorialı var 7. konuya geldım hadi bakalm 1 ay a kadar bitiricem :P ama baştan söyliyim C++ ı sonuna kadar kullanıyor örneklerde (Ole ve activex kullanımınıda anlatıyor) bide bu kodda en önemli kısım hr = OleLoadPicture(pstm, dwFSize, FALSE, IID_IPicture, (LPVOID *)&gpPicture); diğerleri klasik resource yönetim fonksiyonları ve window class &prosedür tanımları (Diğer resource fonksiyonlarının tanımı için MSDN->Platform SDK->User Interfaces Services->Resources->Resources) bide döndermek lafı nerden çıktı? döndürmek+göndermek? Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Maleboge Mesaj tarihi: Eylül 10, 2003 Konuyu açan Paylaş Mesaj tarihi: Eylül 10, 2003 ewet site güzelmiş... şuranında altını çizmek isterim.. gpPicture->get_Width(&hmWidth); gpPicture->get_Height(&hmHeight); nWidth = MulDiv(hmWidth, GetDeviceCaps(hdc, LOGPIXELSX), HIMETRIC_INCH); nHeight = MulDiv(hmHeight, GetDeviceCaps(hdc, LOGPIXELSY), HIMETRIC_INCH);[hline]"Saçma Olmayan Hiçbir Fikrin Ümidi Yoktur"(A.Einstein) Criminal2's HomePage Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Lixad Mesaj tarihi: Eylül 11, 2003 Paylaş Mesaj tarihi: Eylül 11, 2003 tüh rezil oldum. said: "COM programming is so difficult that you shouldn't even try it without MFC. Right or wrong? Absolutely wrong!. Granted, OLE and its successor COM have the elegance of a figure-skating hippopotamus. But putting MFC on top of COM is like dressing the hippo in an oversized clown suit. " evet site tam aradığım eşylere cevap veriyor teşekkür ler Rahan. Criminal transparancy olayıı tam öle diil bahsettiğim yani naısl anlatayım. Paint Shop un varmı orda customzie menusüne girdiğinde anlarsın. Böle ardarda oynatılan freamelerde eski frameyle aynı olan yerler transparant yapılıyor bu sayede dosyanın size ından faydalanılıyor fln. Ha evet bnm kullandım library de sorunlar var bir çoğunu düzellttim elimden geldiğince ama bu konuda bişiy yapamadım Sanırım bu site işime yarıyacak.[hline]Alma? Mater? Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Maleboge Mesaj tarihi: Eylül 11, 2003 Konuyu açan Paylaş Mesaj tarihi: Eylül 11, 2003 ewet.. bana lib.i bulabileceğim bir yer söylersen daha fazla yardımcı olabilirim :) ama bu yöntemde tek framede transparanlık olayı çalışıyor..[hline]"Saçma Olmayan Hiçbir Fikrin Ümidi Yoktur"(A.Einstein) Criminal2's HomePage Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Lixad Mesaj tarihi: Eylül 12, 2003 Paylaş Mesaj tarihi: Eylül 12, 2003 icq dan iritibata geçersek olur sanırım lib diil tam olarka yane bulduğun şekilde diil şu an bendekini baya modifiye ettim. bu OLE işime yaramaz ztne ya progmraı gösteririm analrsın ne dmeke siteidğimi framelerin hepsini alıp yollasa tamam o zaman sorun olmazda tek frame olmuyor gifin anlamı kalmıyor. icq:75928066 ( çok online yakalıyamassın öss yüzünden)[hline]Alma? Mater? Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Öne çıkan mesajlar