2 days back i posted for change position and size of maximising window.With our forum friends help,i get the solution.But now i face one problem that after maximising the child windows, the caption bar is not updated ,It just display as blue color blank bar.
Any one pls help me to sort out of this problem.
void CChildFrame::OnSize(UINT nType, int cx, int cy)
CMDIChildWnd::OnSize(nType, cx, cy);
int XBorder = GetSystemMetrics(SM_CXMAXIMIZED);
int YBorder = GetSystemMetrics(SM_CYMAXIMIZED);
When i debug,this OnSize() getting called four times.
The container item would be a pointer to an object composed of a key and a pointer to another object.
The key will be a composite key, composed of 3 or 4 subkeys appended to each other in relative level of significance.
I'll need to be able to access the items in ascending order, based on a partial key lookup. Then after
getting the first item, be able to get each subsequent item in order. For example, if the composite key
is composed of 4 subkeys, be able to get the lowest key that matched the first 3 subkeys, then get each next higher key if necessary.
I don't need necessarily to get the full set of key items that match, just the next best one. Maybe,I could initially enter a key that would be lower than any possible real key and get returned the first key better(higher).
Then I could put that returned key in to get the next higher and so on.
Finally, I would also need another dataset, same as above but in descending order. This has to be fast, both on the insert and lookups,so walking a list would not be a solution as the number of items involved could easily exceed 1000 and the activity would be hundreds/thousands per second.
Hope this explanation is clear enough for someone to suggest a solution that would be a good fit.
Thanks in advance.
The first data structure that comes to my mind for this is a B+ tree with a pooled memory allocator for nodes. Now there isn't one of these sitting around in the standard library. It also may not be the most effective tree data structure for your needs. It is slanted towards moving through consecutive elements once you find your starting point.
What I would try first is the tree based container available in the STL. This is std::set ( std::map if your key was separate from your payload). For your usage, you would provide your own binary predicate implementing less for your objects (with a built-in level of indirection since you are using pointers). I believe that this is generally implemented using a red-black tree and emphasizes effective insertion and deletion of nodes.
Rather than creating a second container for reverse order, just use one and go backward for the reverse order.
You'd have to run some test to see if this would meet your performance requirements.
Any solution will compromise one thing for something else. You may have to experiment to discover what is suitable for your actual balance of activities.
Is there a way to tie a network connection to a PID (process ID) using Windows Socket functions? I would like to find network connection details associated with a particular process; more specifically in the process, port at which socket is listening and connection state I need to find. Any Windows Socket functions avialable to fetch all these details using VC++?
It's not part of Winsock, but there is a library that can do what you want. Check out the IP Helper Functions (IpHlpApi). There are calls to fetch the active UDP & TCP listens/connections/etc (GetTcpTable & GetUdpTable). These return information that can be passed to GetOwnerModuleFromTcpEntry, GetOwnerModuleFromUdpEntry. Your best bet is to look up these functions on the msdn site.
I'm using CreateTimerQueueTimer to trigger a routine every second. Most of the time it works well, but every once in awhile it won't get triggered for upwards of 20 seconds. What could be causing it and how can I fix it? I run a couple of programs on the same machine using this call and they always stop responding at the same time due to the pause in this function.
Given that the documentation specifically states 'These threads are subject to scheduling delays, so the timing can vary depending on what else is happening in the application or the system.', if your need is timing-critical, you may want to find another means of triggering events.
Thats what I have now, thats equivalent to creating space between bitmaps. What I actually want to do is create a vertical line type of seperator somehow to identify sepearte bitmaps as seperate groups.
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
if (CMDIFrameWnd::OnCreate(lpCreateStruct) == -1)
if (!m_wndToolBar.Create(this) ||(
!m_wndToolBar.LoadToolBar(IDR_MAINFRAME) )) //This load MainFRAME TOOLBAR
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
Above works for one toolbar...
This will load the Main Frame tool bar, How do I load another toolbar next to it, I have (IDR_MAINFRAME2) as another smaller tool bar that i would like to have loaded next to the first one when I launch my app?