|
I meant the forum area. LOOK at the top of the page you are on right now. Does it not say "discussions" up there?
|
|
|
|
|
Given how long I have been an active contributor and question answerer here, I know full we'll what it says, and I also know what the purpose of the forums are for. You can capitalise whatever word you like, it still doesn't get away from the fact that these forums were always intended to be used for questions.
|
|
|
|
|
What is wrong with the built in search, and how will this be better???
I think when the app starts up, don't make the user 'select' a folder, just show a treeview of their hard drive automatically.
I think you need to create some classes to separate the interface logic from the searching (and this will allow multi-threading the interface later), but that discussion is not relevant without the answer to the first question.
|
|
|
|
|
If well built, preferably using MVS 2008, you should be able to select a directory by clicking on the "Browse" search button. When you click the search button, the directory tree of your hard drive would be displayed as "Browse For Folder" dialog box. Browse for a particular folder and click on the "Search Button". Then you can search for your preferred file type or all the files (using *.* for file type) in that directory. It is very seamless.
I want to be able to select and highlight a file based on the file name the user inputs in the "TextBoxSearch".
|
|
|
|
|
Do you want to search for the name of a file or for the content of a file?
|
|
|
|
|
I really intend to write an article about how the search feature of Windows Explorer can be improved. However, this post is meant to address the problem with locating and highlighting a file within the "ResultTextBox" using the "Find" button in the form.
I have made attempts with "select" method but still would not work.
|
|
|
|
|
Guys, this is quite simple I'm sure but I can't see the knockout punch leading to a solution. Without going into reasons but I'd like to send a right-click context menu message to a control. For example:
On a form, I've got a listbox, a button, and a context menu. I've set the listbox property to use the context menu. On the menu, I've added a few test items and I've added a messagebox to each one when selected. So, when I run the app, I can right-click on the listbox, select an item from the popup menu and yup, the messagebox is displayed. That's all fine.
Coming back to the button: I want to call SendMessage using the handle of the listbox. I'd like to send a right-click command, then select one of the menu items, blah-blah-blah. Getting the handle of the listbox isn't a problem but what is proving awkward is knowing what values I need to pass to SendMessage. I've got it declared as a dllimport and the usual declaration is
SendMessage(IntPtr hWnd, int wMsg, IntPtr wParam, IntPtr lParam);
What I can't find out is what values I need to pass into wMsg, wParam, and lParam.
There's a0x7B declaration defined in a previous CP question[^] which is associated with a context menu so perhaps that's what I need to use for the wMsg parameter. If that's the right message command to use does anyone know what I'd set the other two parameters to?
So, on one click I'd like to select say, the second menu item, elsewhere, perhaps select the fifth menu item. If I can get it to work on a simple test app I'll be able to apply it to our production app. Any help appreciated - as usual.
If there is one thing more dangerous than getting between a bear and her cubs it's getting between my wife and her chocolate.
|
|
|
|
|
You can send WM_RBUTTONDOWN (0x204) followed by WM_RBUTTONUP (0x205) to the handle of the listbox and that will display your context menu.
[DllImport("User32.dll")]
public static extern int SendMessage(IntPtr hWnd, int Msg, IntPtr wParam, IntPtr lParam);
public const int WM_RBUTTONDOWN = 0x204;
public const int WM_RBUTTONUP = 0x205;
SendMessage(listBox1.Handle, WM_RBUTTONDOWN, IntPtr.Zero, IntPtr.Zero);
SendMessage(listBox1.Handle, WM_RBUTTONUP, IntPtr.Zero, IntPtr.Zero);
Edit: References
WM_RBUTTONDOWN[^]
WM_RBUTTONUP[^]
modified 3-Jun-13 6:23am.
|
|
|
|
|
Dave,
Thanks for the snippet and I'm happy to report that the popup context menu is displayed. The final bit I need to do is to select one of the menu items in the displayed menu. It contains four selectable options like ABC, DEF, GHI, JKL. If I wanted to select say, GHI, using SendMessage do you know how I'd do that?
Is that where I'd used 0x7b (WM_CONTEXTMENU)? I did a SendMessage call using 0x7b after WM_RBUTTONUP and I used a few variations of values for wParam and lParam but nothing I tried allowed auto-selection of a menu item. Perhaps WM_CONTEXTMENU isn't the right message value to use?
If there is one thing more dangerous than getting between a bear and her cubs it's getting between my wife and her chocolate.
|
|
|
|
|
I'm not sure on selecting the menu item - I'll have a look and see if I can figure it.
The WM_CONTEXTMENU message "Notifies a window that the user clicked the right mouse button (right-clicked) in the window", so it's an information message rather than one that invokes an action if I'm interpreting it correctly: WM_CONTEXTMENU[^]
|
|
|
|
|
I was leaning in that direction myself. I placed a MessageBox before and after the call using WM_CONTEXTMENU and they're displayed okay but the call using WM_CONTEXTMENU appears to be completely mute.
If there is one thing more dangerous than getting between a bear and her cubs it's getting between my wife and her chocolate.
|
|
|
|
|
Is there any reason you need to do this using SendMessage as it looks like it's going to get quite complex.
If you can, in order of preference:
1. Just call the method that handles the MenuItem's Click directly
testToolStripMenuItem_Click(null, EventArgs.Empty);
2. use the MenuItem's index and call PerformClick()
int itemIndex = 0;
listBox1.ContextMenuStrip.Items[itemIndex].PerformClick();
|
|
|
|
|
Dave, I'll have to look at the gargantuan piece of code. It's not my doing, but when a client's details are loaded there's a shed-load of objects which are created containing financial information and tons of other stuff. When you right-click on the photo it sub-selects all the family members that can access the turnstile. It really isn't for the faint of heart. The problem is when the front-of-desk staff allow access without a card being swiped in. When a card is swiped, they can see the member on their monitor and it automatically displays a sub-form where they can allow family members in.
If they do this manually, they see the member but they don't get the sub-form showing his/her dependents. If they right-click on the photo and select the item in the context menu they can select the family members in much the same was as if a card was used. Unfortunately there is nothing intuitive about the way the objects are created and a number are created by threads. That's why I thought that if I could simulate the right-click (as if the concierge did it) it might save me a lot of trouble trying to get the objects initialised. What I have in mind is a temporary fix to buy some time until the original developer gets back from leave in three weeks.
On reflection, I'll test the PerformClick call.
I hope there's no usage of mouse move events in our code. They way some bits of it are written, I'll believe anything it does...
If there is one thing more dangerous than getting between a bear and her cubs it's getting between my wife and her chocolate.
|
|
|
|
|
Well that should simply be a case of loading the same data as the swipe method loads, passing it to a view object and sticking it on the scr-
Unfortunately there is nothing intuitive about the way the objects are created and a number are created by threads oh.
Good luck with that.
|
|
|
|
|
Oh?
My sentiments entirely and I'm the hapless soul expected to make it work...
If there is one thing more dangerous than getting between a bear and her cubs it's getting between my wife and her chocolate.
|
|
|
|
|
Hello!
First, thank you for reading my question. I am facing a problem and i need your help. I need to figure out how to do the next:
1- take the image coming from the webcam (input).
2- Split it to 2 partes (equally).
3- take a copy of one parte (it doesn't matter wiche parte).
4- flip the copied part.
5- place it on the other side.
6- Redo from number one ( 1 ) (real-time).
the following image explain more:
http://i.stack.imgur.com/HUGVC.jpg
|
|
|
|
|
|
Hi,
I want to ask if there is a standared Cash Drawer APIs for .NET which will open any type of cash drawers regardless of the brand?
Technology News @ www.JassimRahma.com
|
|
|
|
|
Yes it's actually an industry standard called UPOS.
msdn POS for .NET Device
probably quicker to just steal the whole cash register.
|
|
|
|
|
Thanks but where can I download the assemblies from? and will it work for desktop windows or just windows embedded?
Technology News @ www.JassimRahma.com
|
|
|
|
|
Yes Windows Embedded POS.
You can get them from version 7 which is still available to download as an evaluation DVD, don't forget to write down the installation key. Be careful with the downloads page it attempts to download part1.exe a every time, when you click back for the next part.
|
|
|
|
|
No need to download Windows Embedded POS, there is a separate SDK but it isn't compatible with .NET 4.0
so you might have to get the legacy fix for .NET 4 or wait for Microsoft to release version 2 of the SDK.
Sorry for giving out the wrong info.
There is also plenty of help/info on the Microsoft POS forums.
|
|
|
|
|
Hi,
I would like to ask how can I implement a binary validation file which my C# application will check everytime on startup to make sure the application is activated on the valid machine?
Technology News @ www.JassimRahma.com
|
|
|
|
|
This is an age old issue and there are entire libraries written about it, only you can define the requirements but you need to manage all the scenarios of your clients. What happens when they want to install a new machine? What happens if a system goes tits up and needs to be replaced? No internet?
Asking a question in forum does not represent research and you will need to do some o this subject.
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
In principle it's simple, hash a few machine specific things (MAC address, hard drive serial number etc) which you can get with P/Invoke calls, and park it in a known location.
Your problem will come in trying to protect the known location and hash algorithm, if you want something that's even vaguely crack proof.
The best implementation of this for most applications is 'ask your users nicely to respect the licence agreement', frankly.
|
|
|
|