|
This is what I did, and all I've managed to do is to get the CommandBar to dissappear altogether. What's more, when I shut the app down and restart it, the original commandbar is STILL gone (in the emulator).
In MainFrm.h:
class CMainFrame
{
...
...
private:
CToolBar m_barProcess;
CToolBar m_barAnnotate;
CToolBar m_barZoom;
CToolBar m_barVideo;
CToolBar m_barAVI;
CChildView m_wndView;
UINT m_currentBar;
BOOL CreateOtherCommandBars();
void HideCurrentToolbar ();
void ShowThisBar (UINT newBar);
void ShowMainCommandBar ();
};
In MainFrm.cpp:
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
return -1;
m_wndCommandBar.m_bShowSharedNewButton = FALSE;
m_ToolTipsTable[0] = MakeString(IDS_NEW);
m_ToolTipsTable[1] = MakeString(IDS_FILE);
m_ToolTipsTable[2] = MakeString(IDS_MHELP);
m_ToolTipsTable[3] = MakeString(IDS_CUT);
m_ToolTipsTable[4] = MakeString(IDS_COPY);
m_ToolTipsTable[5] = MakeString(IDS_PASTE);
m_ToolTipsTable[6] = MakeString(IDS_ABOUT);
if(!m_wndCommandBar.Create(this) ||
!m_wndCommandBar.InsertMenuBar(IDR_MAINFRAME) ||
!m_wndCommandBar.AddAdornments() ||
!m_wndCommandBar.LoadToolBar(IDR_MAINFRAME) ||
!m_wndCommandBar.SendMessage(TB_SETTOOLTIPS, (WPARAM)(7), (LPARAM)(m_ToolTipsTable)))
{
TRACE0("Failed to create CommandBar\n");
return -1;
}
m_wndCommandBar.SetBarStyle(m_wndCommandBar.GetBarStyle() |
CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_FIXED);
CreateOtherCommandBars();
return 0;
}
BOOL CMainFrame::CreateOtherCommandBars()
{
m_currentBar = IDR_MAINFRAME;
UINT barStyle = WS_CHILD | WS_VISIBLE | CBRS_BOTTOM;
UINT barStyleEx = CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_FIXED;
if (!m_barProcess.Create(this, TBSTYLE_FLAT, barStyle) ||
!m_barProcess.LoadToolBar(IDR_PROCESSBAR))
{
return FALSE;
}
if (!m_barAnnotate.Create(this, TBSTYLE_FLAT, barStyle) ||
!m_barAnnotate.LoadToolBar(IDR_ANNOTATEBAR))
{
return FALSE;
}
if (!m_barZoom.Create(this, TBSTYLE_FLAT, barStyle) ||
!m_barZoom.LoadToolBar(IDR_ZOOMBAR))
{
return FALSE;
}
if (!m_barVideo.Create(this, TBSTYLE_FLAT, barStyle) ||
!m_barVideo.LoadToolBar(IDR_VIDEOBAR))
{
return FALSE;
}
if (!m_barAVI.Create(this, TBSTYLE_FLAT, barStyle) ||
!m_barAVI.LoadToolBar(IDR_AVIBAR))
{
return FALSE;
}
m_barProcess.SetBarStyle (m_barProcess.GetBarStyle() | barStyleEx);
m_barAnnotate.SetBarStyle(m_barAnnotate.GetBarStyle() | barStyleEx);
m_barZoom.SetBarStyle (m_barZoom.GetBarStyle() | barStyleEx);
m_barVideo.SetBarStyle (m_barVideo.GetBarStyle() | barStyleEx);
m_barAVI.SetBarStyle (m_barAVI.GetBarStyle() | barStyleEx);
return TRUE;
}
void CMainFrame::HideCurrentToolbar()
{
if (m_currentBar == 0)
{
return;
}
CControlBar* pBar = GetControlBar(m_currentBar);
if (pBar)
{
ShowControlBar(pBar, FALSE, FALSE);
}
m_currentBar = 0;
}
void CMainFrame::ShowThisBar(UINT newBar)
{
HideCurrentToolbar();
CControlBar* pBar = GetControlBar(newBar);
if (pBar)
{
ShowControlBar(pBar, TRUE, FALSE);
m_currentBar = newBar;
}
}
void CMainFrame::OnViewLivevideo()
{
ShowThisBar(IDR_VIDEOBAR);
}
void CMainFrame::OnViewAvi()
{
ShowThisBar(IDR_AVIBAR);
}
void CMainFrame::OnEditProcess()
{
ShowThisBar(IDR_PROCESSBAR);
}
void CMainFrame::OnEditAnnotate()
{
ShowThisBar(IDR_ANNOTATEBAR);
}
void CMainFrame::ShowMainCommandBar()
{
ShowThisBar(IDR_MAINFRAME);
}
void CMainFrame::OnAviClose()
{
ShowMainCommandBar();
}
void CMainFrame::OnCloseprocess()
{
ShowMainCommandBar();
}
void CMainFrame::OnAnnotateclose()
{
ShowMainCommandBar();
}
void CMainFrame::OnImageclose()
{
ShowMainCommandBar();
}
------- signature starts
"...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001
Please review the Legal Disclaimer in my bio.
------- signature ends
|
|
|
|
|
I don't know if this will work better: create one toolbar at a time, destroying the previous one.
|
|
|
|
|
What I'm trying to get is what Pocket Word does. There's a button on the commandbar that brings up an additional toolbar. I have tried a number of approaches to this, but I can't get it to work. I've almost decided that PocketPC 2002 is equivalent to "hell on earth".
------- signature starts
"...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001
Please review the Legal Disclaimer in my bio.
------- signature ends
|
|
|
|
|
I believe you should create a CToolBar in your main frame using the CBRS_BOTTOM style. Hope this is not another blind alley...
|
|
|
|
|
I have it. How do I send you the code?
|
|
|
|
|
|
I'll have a look - at first glance, it appears to be exactly what i need. Many thanks!
------- signature starts
"...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001
Please review the Legal Disclaimer in my bio.
------- signature ends
|
|
|
|
|
It works!
But you gotta tell me where you found out how to do that...
------- signature starts
"...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001
Please review the Legal Disclaimer in my bio.
------- signature ends
|
|
|
|
|
(teeth gnashing)
I had to go through the MFC source code...
|
|
|
|
|
Pocket PC 2002
eVC++ 3.0
I want to programatically remove/add the keyboard annunciator from the taskbar.
I suspect that I have to use Shell_NotifyIcon, but I don't know where to find the ID of the icon to remove.
Any suggestions?
------- signature starts
"...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001
Please review the Legal Disclaimer in my bio.
------- signature ends
|
|
|
|
|
|
Hi,
Check this Out !
http://www.pocketpcdn.com/qa/noswitch.html
http://www.pocketpcdn.com/qa/fullscreen_propertysheet.html
http://www.pocketpcdn.com/qa/
If you have any questions please let me know in detail.
Thanks
Siva
|
|
|
|
|
I want to *remove* the SIP button altogether (and be able to re-display it when it's needed).
------- signature starts
"...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001
Please review the Legal Disclaimer in my bio.
------- signature ends
|
|
|
|
|
John Simmons / outlaw programmer wrote:
I want to *remove* the SIP button altogether (and be able to re-display it when it's needed).
Check out the SHFullScreen API. In the dwState parameter, you can specify either SHFS_HIDESIPBUTTON or SHFS_SHOWSIPBUTTON .
|
|
|
|
|
I tried this in the OnCreate function in CMainFrame, but it returned FALSE. The hwnd wasn't NULL, so I can only assume that the iPAQ doesn't support the function call, or I'm not calling it in the right place.
------- signature starts
"...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001
Please review the Legal Disclaimer in my bio.
------- signature ends
|
|
|
|
|
That's a shame... The only thing I can recall is that maybe your HWND is not top-level, but being a CFrame-derived it should be... Anyway, examples point to the use of this function on the InitInstance. I'm trying to use it there but is also not working, although no error is returned now.
|
|
|
|
|
I'm making the call in CMainFrame::OnCreate. Wouldn't it be a safe guess to say that the CMainFrame class represents the top-level window at it's creation?
------- signature starts
"...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001
Please review the Legal Disclaimer in my bio.
------- signature ends
|
|
|
|
|
Now I have it. After "hiding" the SIP button, you have to resize the frame window in order to cover it. Also, the toolbar must be hidden.
|
|
|
|
|
Hide the toolbar?
Doesn't that kinda defeat the purpose?
------- signature starts
"...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001
Please review the Legal Disclaimer in my bio.
------- signature ends
|
|
|
|
|
You're kinda right, but I've yet to see a sample of what you want to do. If you go to MSDN, the samples of SHFullScreen are exactly that: full screen. I think I led you into a blind alley: maybe this is not the solution you are looking for. Sorry!
|
|
|
|
|
Can we use access databases in WinCE 3.0 ? I want to build a program that manage a student list with Access database (or something like it). But I just have emulator, not real Pocket PC.
I'm a Vietnamese student
|
|
|
|
|
Yes, you can use Access databases on WinCE 3.0 (I'm developing applications for PocketPC 2002 with Pocket Access). The problem is the emulator, but there are ways to copy the databases to and from the emulation using ActiveSync. I read somewhere in MSDN that you need to have two COM ports in your PC to achieve this. Check MSDN.
|
|
|
|
|
What is the largest size of a text file in WinCE 3.0 ?
I'm a Vietnamese student
|
|
|
|
|
Docs say: Effective with version 3.0, the maximum size for the RAM file system is 256 MB, with a maximum size of 32 MB for a single file. In earlier versions of Windows CE, the limit for both the RAM system and a single file is 16 MB. Also effective with version 3.0, the maximum number of objects in the object store is increased from 65,536 to approximately 4,000,000.
Cheers
|
|
|
|
|
If the function SOCKET in supports broadcasting in the
802.11 Ad hoc mode(without AP)?Is there anybody knowing this?Please help me, thank you..
Platform:WinCE3.0
Development platform:Embeded VC++, PacketPC 2002 SDK
|
|
|
|