|
How can i get an information about pixels (RGB) in each frame of AVI file?
And how can i SAVE AVI frame as BMP file?
|
|
|
|
|
The amazing yet ellusive ->* operator appears to require an object of a known type. Suppose you want to call a member function of an arbitrary object?
For example, in the creation of a service, I designed an interface to allow consumers to pass in a "this" pointer and their callback function. What's the recommended way to dish up the program counter to them when all I have are these two items?
void *pThis;
typedef BOOL (CALLBACK * LPFGETMESSAGE)(IN EMS_HANDLE hSentMessage,
IN CString &Body,
IN BOOL bSuccess);
I have no way to find out what type of object "pThis" is, nor do I WANT to know.
Best of,
James Prevallet
http://www.mp3.com/JamesPrevallet
|
|
|
|
|
You can make a generic baseclass, with a virtual callback function, that your costumers have to inherit from.
Then, instead of void *pThis;
you can say MyBaseClass *pThis;
pThis->CallBackFunction();
- Anders
Money talks, but all mine ever says is "Goodbye!"
|
|
|
|
|
Hi,
I have used the sleep command in turbo.c but it does not seem to work from VC++. Does anyone know what would be the equivalent in VC++. I am writing a basic program with a single main routine and no 'event driven' based system.
Please reply by email to aggarwa1@uiuc.edu
Thanks,
Nitin
|
|
|
|
|
I have used Sleep() and SleepEx() a lot and it works fine from VC++
Just remember to include windows.h
- Anders
Money talks, but all mine ever says is "Goodbye!"
|
|
|
|
|
I'm trying to change the cursor when a button is pressed using the code:
HCURSOR sampleCursor;
::SetCapture(this->m_hWnd);
sampleCursor = ::SetCursor(AfxGetApp()->LoadCursor(IDC_SAMPLECURSOR));
The problem I'm having is that after the button is pressed, the cursor is changed but control is not returned to the window . Any suggestions? Thanks.
|
|
|
|
|
Change it by handling WM_SETCURSOR instead, that's what it's for.
Christian
As I learn the innermost secrets of the around me, they reward me in many ways to keep quiet.
Men with pierced ears are better prepared for marriage. They've experienced pain and bought Jewellery.
|
|
|
|
|
Is there some info as to developing xp style dialogs
Thanks
Bobby
|
|
|
|
|
Do you mean having your dialog reflect the current theme? If so, that requires putting an XML file ("manifest") in your resources so that the OS gives you common control v6 and theme features. There's an article here at CP that shows the XML you need.
--Mike--
http://home.inreach.com/mdunn/
Trillian: What are you supposed to do with a manically depressed robot?
Marvin: You think you've got problems. What are you supposed to do if you are a manically depressed robot?
|
|
|
|
|
Hi Mike,
Thanks for the info. I found this link
http://www.codeproject.com/useritems/xptheme.asp
but it says it will only work for XP.
|
|
|
|
|
On XP it looks like (is) a real XP application with the current theme and all, when running under older versions of Windows it look like standard applications on those...
- Anders
Money talks, but all mine ever says is "Goodbye!"
|
|
|
|
|
hello,
i would to like to store the menu item name whenever i click the menu item name(string type of menu item ) by sitting in one appllication and record all menu items names in all applications like word ,excel,notepad,wordpad etc..
for this task ,i used global hooks, i got only menu name not the menu item name... will pl. give any suggestion or code ...
waiting for ur reply soon ...
|
|
|
|
|
Hi
About 2 threads ago I asked how to compile my dll which works as a Browser Helper Object with InternetExplorer.
Now it works fine, although I have one question. I searched www.google.com and other sites but did not find an answer (only how to do with VisualBasic
My question is how to handle the BeforeNavigate2 event.
What I have so far is as follows:
STDMETHODIMP CIEHlprObj::BeforeNavigate2(IDispatch *pDisp, VARIANT *url, VARIANT *Flags, VARIANT *TargetFrameName, VARIANT *PostData, VARIANT *Headers, VARIANT_BOOL *Cancel)
{
return S_OK;
}
I want to be able to cancel the navigation if the user entered a restricted site.
Furthermore I want to change the url in order to redirect the navigation to a different site
how can I do this
thanks in advance
|
|
|
|
|
STDMETHODIMP CIEHlprObj::BeforeNavigate2(IDispatch *pDisp, VARIANT *url, VARIANT *Flags, VARIANT *TargetFrameName, VARIANT *PostData, VARIANT *Headers, VARIANT_BOOL *Cancel)
{
CString TheBestURL = _T("http://www.codeproject.com");
*Cancel = TRUE;
Navigate2(TheBestURL);
return S_OK;
}
Cheers!!!!
Carlos Antollini.
|
|
|
|
|
Hey great!!!! THANKS!!!
And how can I find out what the url is the browser wants to navigate to?
What do I need to do with the VARIANT *url?
I also want to change the *url to redirect the browser to a different site
|
|
|
|
|
That is the URL being navigated to.
|
|
|
|
|
I know, but it is of type VARIANT.
How can I convert it into a "readable" format like char?
And how can I modify the variable *url?
|
|
|
|
|
u can use this : CString strUrl = CString(URL->bstrVal);
|
|
|
|
|
My DLL does not use MFC extension, therefore CString does not work
And how can I modify the variable "url"?
(for example like url = "something")
|
|
|
|
|
The variant holds all kinds of types. check to see if the url.vt == VT_BSTR (it will or it will be VT_BYREF|VT_BSTR) then you can use the url.bstrVal (or if byref url.pbstrVal) to see the url which will be a unicode string.
if (!wcscmp(bstrVal, "http://thesitetheyshouldnotgoto.com")
{
SysFreeString(url.bstrVal);
url.bstrVal = SysAllocString("http://younaughtyuser.com");
}
Cheers,
-Erik
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
My thoughts are my own and reflect on no other.
|
|
|
|
|
I don't know whether I understand what you mean.
Here is what I have so far
STDMETHODIMP CIEHlprObj::BeforeNavigate2(IDispatch *pDisp, VARIANT *url, VARIANT *Flags, VARIANT *TargetFrameName, VARIANT *PostData, VARIANT *Headers, VARIANT_BOOL *Cancel)
{
if(url->vt == VT_BSTR)
{
if (!wcscmp(url->bstrVal, "http://thesitetheyshouldnotgoto.com"))
{
SysFreeString(url->bstrVal);
url->bstrVal = SysAllocString("http://younaughtyuser.com");
}
}
if(url->vt == VT_BSTR | VT_BYREF)
{
if (!wcscmp(url->pbstrVal, "http://thesitetheyshouldnotgoto.com"))
{
SysFreeString(url->pbstrVal);
url->pbstrVal = SysAllocString("http://younaughtyuser.com");
}
}
return S_OK;
}
But I get 5 compiler errors and 1 warning
|
|
|
|
|
Well since you haven't given the compiler errors I can only venture to guess that the reason is you are doing string compares of unicode vs ansi strings. For example in the code in your previous message you state
if (!wcscmp(url->bstrVal, "http://thesitetheyshouldnotgoto.com"))
{
SysFreeString(url->bstrVal);
url->bstrVal = SysAllocString("http://younaughtyuser.com");
}
It should be
if (!wcscmp(url->bstrVal, L"http://thesitetheyshouldnotgoto.com"))
{
SysFreeString(url->bstrVal);
url->bstrVal = SysAllocString(L"http://younaughtyuser.com");
}
I probably forgot the "L" in my sample above. that would account for 4 of the errors. What's the fifth?
Cheers,
-Erik
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
My thoughts are my own and reflect on no other.
|
|
|
|
|
You have the URL in url.bstrval
And you can redirect the Browser with Navigate2.
But A question, you want to control the IE or you ar making your own Explorer???
Cheers!!!
Carlos Antollini.
|
|
|
|
|
url.bstrval is of type unsigned short*, isn't it?
How to convert to char?
I have this code so far:
CComVariant varURL(url->bstrVal);
varURL.ChangeType(VT_BSTR);
??? << OLE2T(varURL);
I need a variable for "???"
I want to control the IE
|
|
|
|
|
First
I always do that in this mode:
CString str = _T("");
str = vtFld.bstrVal;
Second
If you want to control the IE, read the answer that Michael Dunn posted you...
Best Regards!!!
Carlos Antollini.
|
|
|
|