|
i was using WTL 7 application wizard and it was workign fine. But now whenever i generate code for any type of application from WTL wizard, iget following errors on compilation. i havent edited a single line of wizard generated code.
Compiling resources...
Compiling...
stdafx.cpp
c:\VS\vc98\include\shlobj.h(112) : error C2011: '_SHITEMID' : 'struct' type redefinition
c:\VS\vc98\include\shlobj.h(123) : error C2011: '_ITEMIDLIST' : 'struct' type redefinition
c:\VS\vc98\include\shlobj.h(2148) : error C2011: '_STRRET' : 'struct' type redefinition
d:\myprojects\try7\stdafx.cpp(8) : error C2856: #pragma hdrstop cannot be inside an #if block
Error executing cl.exe.
try7.exe - 4 error(s), 0 warning(s)
can neobne tell me the casuse and remedy for this error?
Thanx
Shoaib
Muhammad Shoaib Khan
http://geocities.com/lansolution
|
|
|
|
|
I am quite new to ATL, and I have a problem with ActiveX controls. I use ATL to create a tree control to use in web pages. I want when double-clicking on a tree item, the web browser to navigate to some predefined URL. Everything is fine until the double-click. I don't know how to get the IWebBrowser2 interface (from the current browser) and make it navigate to the URL I specify. I have found an example that creates a new browser window and tells it to navigate to the URL, but it's not what I need.
Any ideas, or suggestions...
Thanks.
|
|
|
|
|
|
hello
can i store in valarray a vectors?
|
|
|
|
|
I have made component using ATL Com bu when i called it from ASP, i am getting follwoing error:
Server object, ASP 0177 (0x8002801D)
Library not registered.
Code:
dim objTrim
set objTrim = server.CreateObject ("MY_TRIM.TrimMain")
What am i missing here
Thanx
|
|
|
|
|
Looks like you need to register you COM component. Go to a command prompt; change the directory to your .dll and type: regsvr32 mydll.dll . Obviously replacing mydll.dll with the name of your component.
-Nick Parker
|
|
|
|
|
DLL is registered and same code is working fine when called from VB client.
|
|
|
|
|
IMHO, the "MY_TRIM.TrimMain" ProgID can be converted into the reasonable CLSID (say CLSID_TrimMain), but this CLSID's entry doesn't have any TypeLib information. Check the HKEY_CLASSES_ROOT\CLSID\{CLSID_TrimMain}\TypeLib key if exist.
With best wishes,
Vita
|
|
|
|
|
I have checked it at the specified location it exists.
One more thing i have registered same dll on some other machine and it works on it.
|
|
|
|
|
IMHO, your library has a reference to other type library which is absent on your computer.
With best wishes,
Vita
|
|
|
|
|
I am facing a problem in converting an icon to a
bitmap. To copy a bitmap to another bitmap following
code works fine
/*for bitmap*/
HBITMAP _hbmp = LOADIMAG(...);
//creating a source memory DC and selecting a bitmap
in it
HDC srcDC = CreateCompatibleDC(::GetDC(m_hWnd));
SelectObject(srcDC,(HICON)_hbmp);
//creating a destination memory DC and selecting a
memory bitmap to it
HDC desDC = CreateCompatibleDC(::GetDC(m_hWnd));
hBitmap =
CreateCompatibleBitmap(::GetDC(m_hWnd),75,75);
SelectObject(desDC,(HBITMAP)hBitmap);
//copies source DC to memory DC resulting in a copy of
_hbmp in hBitmap
BitBlt(desDC,0,0,75,75,srcDC,0,0,SRCCOPY);
DeleteDC(srcDC);
DeleteDC(desDC);
But if you are converting a icon to a bitmap the same
code as above does not work
/*for icon*/
//loading icon
HICON _hbmp = LoadIcon(NULL,IDI_HAND);
//creating a source memory DC and selecting a bitmap
in it
HDC srcDC = CreateCompatibleDC(::GetDC(m_hWnd));
SelectObject(srcDC,(HICON)_hbmp);
//creating a destination memory DC and selecting a
memory bitmap to it
HDC desDC = CreateCompatibleDC(::GetDC(m_hWnd));
hBitmap =
CreateCompatibleBitmap(::GetDC(m_hWnd),75,75);
SelectObject(desDC,(HBITMAP)hBitmap);
//copies source DC to memory DC resulting in a copy of
_hbmp in hBitmap
BitBlt(desDC,0,0,75,75,srcDC,0,0,SRCCOPY);
DeleteDC(srcDC);
DeleteDC(desDC);
Any comment or help shall be highly appreciated.
Pah
|
|
|
|
|
HBITMAP BitmapFromIconCursor(HICON hIconCursor, HWND hWnd)
{
ICONINFO iconInfo;
::GetIconInfo(hIconCursor, &iconInfo);
BITMAP bm;
::GetObject(iconInfo.hbmMask, sizeof(bm), &bm);
int cy = bm.bmHeight;
if (cy == 2 * bm.bmWidth) cy = bm.bmWidth;
CClientDC hdc(hWnd);
CDC hdcMem = ::CreateCompatibleDC(hdc);
HBITMAP oldBmp = hdcMem.SelectBitmap(iconInfo.hbmColor);
hdc.MaskBlt(0, 0, bm.bmWidth, cy, hdcMem, 0, 0, iconInfo.hbmMask, 0, cy, MAKEROP4(SRCINVERT, SRCAND));
HBITMAP hBmpCopy;
if (iconInfo.hbmColor != NULL)
hBmpCopy = ::CreateCompatibleBitmap(hdc, bm.bmWidth, cy);
else
hBmpCopy = ::CreateBitmap(bm.bmWidth, cy, bm.bmPlanes, bm.bmBitsPixel, NULL);
hdcMem.SelectBitmap(hBmpCopy);
hdcMem.BitBlt(0, 0, bm.bmWidth, cy, hdc, 0, 0, SRCCOPY);
hdcMem.SelectBitmap(oldBmp);
::DeleteObject(iconInfo.hbmMask);
::DeleteObject(iconInfo.hbmColor);
return hBmpCopy;
}
|
|
|
|
|
|
GetIconInfo() does not return HBITMAP. It returns BOOL. If the function succeeds, the return value is nonzero and the function fills in the members of an ICONINFO structure whose pointer was passed as a parameter. GetIconInfo() creates bitmaps for the hbmMask and hbmColor members of the ICONINFO structure. The calling application must manage the bitmaps and delete them when they are no longer necessary or resource leakage will occur.
|
|
|
|
|
|
Not trying to be. I'm just wondering why you told Pah he didn't need "all that code" without explaining what he did need and didn't need. It didn't seem all that helpful as an answer to his question and seems to imply:
HBITMAP hBmp = GetIconInfo();
|
|
|
|
|
What is ATL and COM...
particulars. please...
|
|
|
|
|
a template library for making robust COM objects.
|
|
|
|
|
and COM is an abbr. for Component Object Model - the programming style, where you build your software from components. Difference between plain old c++ class (or any other language class) is that components are binaries, not in source form. One of main benefits is, that you can replace parts of your binaries without need of recompiling the whole application. This is important for big projects.
Second important benefit is the language interchangeability - components itself can be written in virtually any language. Then you can build your application as a mixture of C++, Visual Basic, Pascal... just use language which is better for the task...
etc.
|
|
|
|
|
I am beginner too,very think you !;P
I am like programiing
|
|
|
|
|
Hi
I'm getting the following error:
parse error before ';' for the following program. It is a stripped down version.
<<header file>>
template <class T>
class C
{
private:
......
protected:
typedef struct _slot
{
T* obj;
int l;
} slot;
public:
........
};
template class C <char*> //forced instantiation.
<<cpp file>>
template <class T>
int C<T>::func(T* obj,int id)
{
slot* s = new slot; //This works.
.....
map<int,slot<T>*>::iterator it; //I get the error here <-------
....
}
Any idea ?
cheers
Projyal
|
|
|
|
|
sorry , please read
map<int,slot<T>*>
as
map<int,slot*>
cheers
Projyal
|
|
|
|
|
The following compiles OK in MSVC++ 6.0sp5:
#pragma warning(disable:4786)
#include <map>
template <class T>
class C
{
protected:
typedef struct _slot
{
T* obj;
int l;
} slot;
public:
int func(T* obj,int id);
};
using namespace std;
template <class T>
int C<T>::func(T* obj,int id)
{
slot* s = new slot;
map<int,slot*>::iterator it;
return 0;
}
template class C <char*>;
int main()
{
return 0;
} So I guess your problem lies elsewhere.
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
is there any one who know how i can add DIALOGBAR in one application,because i want to add it in my application in the long of the right of window and i will add in it some control as slider buton ......
|
|
|
|
|
I'm porting portions of the WTL 7.0 code for Windows CE (Pocket PC 2002). The question is about CFrameWindowImpl and CFrameWindowImplBase : What is the rationale for writing code for one or the other? Specifically: Some work must be done in OnCreate , like creating the menu bar, sizing the frame according to SIP state, and other stuff. Now, should this go into CFrameWindowImpl or CFrameWindowImplBase ?
I'm trying to make sense of the design decisions that must be considered when designing WTL classes...
João Paulo
|
|
|
|