|
welp i solved the problem, i found i can change the slider solor by using progress_control.SendMessage(PBM_SETBARCOLOR,0,RGB(100,100,132)); I don't know how it works, but i know how to change the colors.
thanks for the input you gave me.
*.*
cin >> knowledge;
|
|
|
|
|
|
Hi All,
I'm having a problem creating a custom dialog box. I need to limit the user to only be able to browse the folders below a certain folder.
I'm trying to figure out how to trap the "Button Up" message on the toolbar properly so I can check the next folder going up and therefore prevent the user from going up any more directories. The problem is that no matter what I do, even in processing the up Button message and returning TRUE so the default windows doesn't process the message, the message still gets processed and the user is allowed to go up past my limit.
I tried capturing the last message after the app gets updated, and then revert back to the limit folder, then signaling the window to update again as well. But that still didn't work.
Any ideas? Thanks!
Dan
|
|
|
|
|
You might try the SHBrowserForFolder function instead. It doesn't provide a wrapper class in MFC that I know of, but it's simple enough to use. You can set the root, limit the types of items that can be selected, and even have files show up (despite the function name containing "browse" and "folder") in newer (albeit not so new) function versions using a simple flag.
-----BEGIN GEEK CODE BLOCK-----
Version: 3.21
GCS/G/MU d- s: a- C++++ UL@ P++(+++) L+(--) E--- W+++ N++ o+ K? w++++ O- M(+) V? PS-- PE Y++ PGP++ t++@ 5 X+++ R+@ tv+ b(-)>b++ DI++++ D+ G e++>+++ h---* r+++ y+++
-----END GEEK CODE BLOCK-----
|
|
|
|
|
I'll give that a whirl. Thanks for the suggestion.
probably not quite what I'm looking for but I might be able to make it work.
I'll keep ya posted.
thanks!
|
|
|
|
|
Heath Stewart wrote:
You might try the SHBrowserForFolder function instead
not exactly what I was looking for. I need the same look/feel as the FileOpen Dialog. Thanks for the hint though.
I guess I just need to keep looking. Anyone else have an idea?
|
|
|
|
|
Okay, then there is several options you can do to really fix the CFileDialog . The following alternative uses MFC's CFileDialog (since that seems to be what you want to use), but you could just as easily use the method that it wraps, GetOpenFileName .
First, create an instance of the CFileDialog . When you've done that, get the m_ofn member struct from the instance and perform the following.
- OR the
Flags member of the OPENFILENAME structure with OFN_ENABLEHOOK . You might also want to OR it with OFN_NODEREFERENCELINKS while you're at it to keep users from making a shortcut to a location outside your limited scope.
- Set the
lpfnHook to a HOOKPROC callback.
From there, your options are many. In WM_INITDIALOG , you could simply remove the the "Up" button entirely based by getting the toolbar in which its contained (based, perhaps, on the window class for the toolbar which Spy++ can give you, which is ToolbarWindow32 , or getting it based on the tooltip or some other identifier) or handling the message generated when you click the up button. Spy++ reports this as either WM_USER+300 (aka 1) or WM_USER+302 (aka 2) (both were posted as 1211 (based on aforementioned aliases). What those mean you'll have to dig-up. All the other messages were mostly painting and mouse messages - nothing that would seem to help.
It's surprising that handling the click messages and returning true didn't help. Did you handle WM_LBUTTONUP ? That directory change is triggered then and not during WM_LBUTTONDOWN . Just out of curiosity, how did you determine if the "Up" button was being clicked?
-----BEGIN GEEK CODE BLOCK-----
Version: 3.21
GCS/G/MU d- s: a- C++++ UL@ P++(+++) L+(--) E--- W+++ N++ o+ K? w++++ O- M(+) V? PS-- PE Y++ PGP++ t++@ 5 X+++ R+@ tv+ b(-)>b++ DI++++ D+ G e++>+++ h---* r+++ y+++
-----END GEEK CODE BLOCK-----
|
|
|
|
|
How does one retrieve the row count in a open IRowset (besides the obvious method of scanning them all)?
Thanks.
Regards,
João Paulo
|
|
|
|
|
I don't think you can. Most recordset implementations I've seen can only give you a rough estimate - guesses basically. On large queries even the DBMS may not even know how much data there is left to scan.
--
Ich, du, sie, er, es, ihr, sie, Sie.
|
|
|
|
|
Thanks, Jörgen. I suspected that... I just wonder how ADO does its RecordCount processing. Most likely, it will scan all rows as I am doing.
Regards,
João Paulo
|
|
|
|
|
João Paulo Figueira wrote:
I just wonder how ADO does its RecordCount processing. Most likely, it will scan all rows as I am doing.
Most likely! ADO is pretty brain dead actually...
--
Ich, du, sie, er, es, ihr, sie, Sie.
|
|
|
|
|
I just found the answer I needed, although it is provider-dependent. SQL Server CE 2.0 exposes a IRowsetPosition interface that will return a count of the number of rows in the rowset (as well as the current position of the cursor).
Regards,
João Paulo
|
|
|
|
|
Ah, ok. SQL Server CE 2.0 can't handle very big amounts of data? There has to be some fixed reasonable limit for which the DBMS can make assumptions about.
--
N = { ni | n0 = 0, ni + 1 = ni + 1, i ³ 0 }
|
|
|
|
|
The DB size limit is 2GB (as well as max table size). Anyway, using this interface is straightforward and does not seem to reduce access speed.
Regards,
João Paulo
|
|
|
|
|
Hello
Does anyone know a way to place a Crystal Report Viewer in the Visual C++ project?
I can't do it But didn't find a statement that it is impossible in the help system.
Thank you in advance
|
|
|
|
|
If you're using managed C++, VS.NET 2003 now has visual Windows Forms designer. Drop it on the form like any other control. If you have VS.NET 2002 and still using managed C++, you can code the control manually. Just instantiate it, set the size and location, and add it to the form's Controls collection.
If you're not using managed code but trying to use the Crystal Report Viewer that comes with VS.NET - it won't work. That's only a managed control. In this case, you'll have to buy Crystal Reports from www.crystaldecisions.com.
-----BEGIN GEEK CODE BLOCK-----
Version: 3.21
GCS/G/MU d- s: a- C++++ UL@ P++(+++) L+(--) E--- W+++ N++ o+ K? w++++ O- M(+) V? PS-- PE Y++ PGP++ t++@ 5 X+++ R+@ tv+ b(-)>b++ DI++++ D+ G e++>+++ h---* r+++ y+++
-----END GEEK CODE BLOCK-----
|
|
|
|
|
look at craxdrt.dll (I'm assuming you're talking about the ActiveX control). You can instantiate the control as any other AX control and use it.
If I remember correctly, there are samples on how to do this in some samples subdirectory of the Crystal Reports installation.
--
Ich, du, sie, er, es, ihr, sie, Sie.
|
|
|
|
|
Hi,
I would like to make a client/server App using C++ and visual studio.net that run on winXP.
I know that I can use CAsyncSocket and CSocket to create such an App. But I would like to know if it's the best way to do it? Is there other utilities that I can use?
Thanks for helping
Myke
Everything's beautiful if you look at it long enough...
|
|
|
|
|
I highly recommend raw winsock.
Kuphryn
|
|
|
|
|
Good day.
I've got little problem - I need to insert metafile with picture in it in to rich edit. I must do it without COM. MFC/Win API only. Does anyone knows, how to do that? Advice or piece of program would be a great help.
Trapper
|
|
|
|
|
Hi Everyone,
First time poster on this site, I hope someone can help me with this problem.
Let say my program is install in C:\myprog and everytime before it exits, it writes a string to a file. It works ok because I logged in as an Admin. But, if a user logs in and doesn't have write permission, then the program cannot save data to the file in that directory when it exits. Is it possible for my program to write to the directory, even though, the user does not have the access rights? If so, how can I programmatically do it using Win32 API? Any helpful suggestions or hints would be appreciated.
It runs on WinNT with NTFS.
Thanks,
ing
|
|
|
|
|
There are two approaches; one, give users TCB privilege (ugh!!) so they can run the app and it can impersonate a user who has access, Not a good idea, or second, have a service running with no GUI which runs as a user who has access, and have your app talk the the service. It has permission, so it can write, user doesn't need permission.
You'd need to use something like TCP/IP or Named Pipe for communication, I guess.
Steve S
|
|
|
|
|
Any problems with that in VS 2003? Some of my colleages have hinted I might have to recompile the dlls to get VS2003 compatible libs? Sounds odd to me. If so.. what has changed and why?
|
|
|
|
|
how do you get the 3d inner border style of of the CMainFrame window to disappear?
I don't want my child view to look sunken into the frame. I tried &= ~WS_ with several styles on OnCreate, but nothing has worked so far.
tried all the
lpCreateStruct->dwExStyle &= ~WS_
plus I tried the
lpCreateStruct->style &= ~WS_
|
|
|
|
|