|
Making it a statement block (enclosed in braces { }) forces the code to execute as a block and clean up after itself.
|
|
|
|
|
First of all, Thanks to Rama, Mazy and Jason.
Here is my code now. It works by the way
ISimplePgpPtr p(__uuidof(SimplePgp));
p->EncryptFile("d:\\in.txt","d:\\a90.pgp","test@test.com");
p.Release();
CoUninitialize();
Now this is my problem. I am puzzled by the behavior of p.
When I hit a . after p and when I type a -> after p I get different drop downs from intellisense.
Can someone clear all this up?
I tried a . instead of -> for the EncryptFile but got a compile error!
Nish
Regards,
Nish
Native CPian.
Born and brought up on CP.
With the CP blood in him.
|
|
|
|
|
The . shows the member of _com_ptr_t class. this class has the -> operator overloaded, which shows you the member of ISimplePgp class.
Michel
It is a lovely language, but it takes a very long time to say anything in it, because we do not say anything in it, unless it is worth taking a very long time to say, and to listen to.
- TreeBeard
|
|
|
|
|
Michel Prévost wrote:
The . shows the member of _com_ptr_t class. this class has the -> operator overloaded, which shows you the member of ISimplePgp class.
Thanks Michel. Makes sense now
Nish
Regards,
Nish
Native CPian.
Born and brought up on CP.
With the CP blood in him.
|
|
|
|
|
Michel is right it's just overloaded.
Extra info.
I finished a Design Patterns class last semester and the overloaded operator -> was given as an example. It's a Proxy design pattern. If you're interested here's a link.
Houston Design Patterns [same page]
It's in the Structural Patterns. Check out the C++ demo for Proxy design pattern. When you get to the source I believe it's the 3rd example.
nay
|
|
|
|
|
Hello, CPians, I have an MFC SDI application, and I want to access to CMyView from CMyApp::InitInstance(), how can I get it?
Thanks a lot in advance!
|
|
|
|
|
lucy wrote:
I want to access to CMyView from CMyApp::InitInstance(),
Have you created your main frame window? If so you can call GetActiveView on the main frame pointer.
Nish
Regards,
Nish
Native CPian.
Born and brought up on CP.
With the CP blood in him.
|
|
|
|
|
yes, it should be created in the standard initialization code in CMyApp::InitInstance(). But what is the pointer to the main frame window? I tried to use m_pMainWnd, but it has no member function of GetActiveView.
|
|
|
|
|
((CFrameWnd*)m_pMainWnd)->GetActiveView()
Nish
Regards,
Nish
Native CPian.
Born and brought up on CP.
With the CP blood in him.
|
|
|
|
|
Nish, you are so great! Thank you so much!
Okay, now I can go to bed to have my beauty sleep.
|
|
|
|
|
I have an icon in the system tray. When I right click the icon I do this:
pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_LEFTBUTTON,
point.x, point.y, AfxGetMainWnd(),NULL);
where pPopup is a pointer to my menu. When I right click it, if you dont want to do anything you would click outside of the popup menu and it dissappears, however it doesnt dissappeat unless you click the mouse outside of the menu then hover the mouse over the menu. How do I fix that?
-Raffi
|
|
|
|
|
Try using TPM_RIGHTTBUTTON , or not using TPM_LEFTBUTTON .
--------
Life is fraught with opportunities to keep your mouth shut. --Shog9 --
|
|
|
|
|
I have, it has no affect.
-Raffi
Why do today what can be put of until tommorrow?
|
|
|
|
|
Raffi wrote:
I have, it has no affect.
Odd...
I just checked MSDN, it gives this little tidbit:
To display a context menu for a notification icon, the current window must be the foreground window before the application calls TrackPopupMenu or TrackPopupMenuEx. Otherwise, the menu will not disappear when the user clicks outside of the menu or the window that created the menu (if it is visible). However, when the current window is the foreground window, the second time this menu is displayed, it displays and then immediately disappears. To correct this, you must force a task switch to the application that called TrackPopupMenu at some time in the near future. This is done by posting a benign message to the window or thread, as shown in the following code sample:
SetForegroundWindow(hDlg);
TrackPopupMenu( hSubMenu,
TPM_RIGHTBUTTON,
pt.x,
pt.y,
0,
hDlg,
NULL);
PostMessage(hDlg, WM_NULL, 0, 0);
Have you tried that?
--------
Life is fraught with opportunities to keep your mouth shut. --Shog9 --
|
|
|
|
|
Thats exactly the problem. Thanks for the fix.
-Raffi
Why do today what can be put of until tommorrow?
|
|
|
|
|
That's a long-standing known bug with tray icon menus. See Q135788 for a fix.
--Mike--
Just released - RightClick-Encrypt - Adds fast & easy file encryption to Explorer
Like the Google toolbar? Then check out UltraBar, with more features & customizable search engines!
My really out-of-date homepage
Sonork-100.10414 AcidHelm
|
|
|
|
|
Mike
I think this one should go in your C++ FAQ
Nish
Regards,
Nish
Native CPian.
Born and brought up on CP.
With the CP blood in him.
|
|
|
|
|
Does anybody know how to or even if you can register file associations in VC++.
for example,
when you double click on a .doc, it will open in word.
that kind of stuff, i know you can do it in InstallShield, but is there a way to do it in the code?
Cheers
Dor
|
|
|
|
|
Yes you can. You need to set certain registry keys. The details can be found in this link.
|
|
|
|
|
If you are using MFC you could look at CWinApp::RegisterShellFileTypes. You may even refer to the code of the function to figure out how it is done.
|
|
|
|
|
|
If you create a MFC SDI or MDI application with the wizard, some time at step 4 (i'm not sure) you can click the advanced button and define custom file format for your application. Then the wizard will crete a REG file in the project directory. You can have a look at it and see how they do it.
Best regards,
Alexandru Savescu
|
|
|
|
|
I have Added the accelerator keys to a dialog box. When I run the application I don't see the underline under the leter. Except when I hold down the ALT key then its displayed. I am running Windows 2000. I noticed it works fine under Windows ME. Anyone know how to enable this to show always at runtime.
Thanks
|
|
|
|
|
this is an option in the OS itself.. go to control panel, display, effects tab, one of the check boxes says 'Hide keyboard navigation indicators until i use the Alt key'
so if they don't show its the settings
hope that helps
-dz
|
|
|
|
|
Thanks, do you know how to display the underline even though is disabled in the control panel. Just like in Word, its always displayed.
|
|
|
|