|
PJ Arends wrote:
I am no expert, but why not just use a simple list control that lists all the available programs, or may be a series of list controls if the programs are grouped in some way. It seems to me the operator does not need to have any knowledge of where the programs are located on disk, he/she just needs the ability to choose the one that is required for the current job.
The problem is that in this industry (structural steel fabrication) a fabricator will typically have dozens (maybe hundreds) of separate projects running through their shop at any given time. Each project can have dozens of phases that get done individually. Each phase can have several hundred or even several thousand individual unique parts. Some projects can last several years. Most fabricators use a somewhat elaborate (and nearly always proprietary) network folder tree structure to keep the projects/phases/parts organized. The strength of our machinery is that it requires virtually no setup or reconfiguring to switch from part to part and therefore fabricators tend to send parts at it in no particular order (as it relates to specific projects/phases) and the operator must navigate thru this maze of folders to find the correct part.
PJ Arends wrote:
Use the KISS (Keep It Simple, Stupid) method. Don't give the operator any more functionality than what he needs to do the job, it just confuses most of them.
I agree 100% and have argued this point on this very topic, but fabricators are also a pig-headed group and demand this flexibility.
It looks like I'll have to roll my own or live with it the way it is.
Mike Mullikin
"Programming is like sex. One mistake and you have to support it for the rest of your life." - Michael Sinz
|
|
|
|
|
Add another vote for roll your own. I have dealt with touchscreens also and they present some challenges. Although they may look clunky, buttons must often be a bit larger so that people wearing gloves can press them.
I would make a dialog with a listbox for the files and two large up down arrow buttons for selection. It is easy to write logic for filling the list with files and additional logic for directory navigation is not too tough.
Good luck.
|
|
|
|
|
The roll-your-own solutions mentioned above sound like your best bet, but for a quick solution, you can remove the OFN_EXPLORER style from CFileDialog::m_ofn.Flags. This will make it an old-style dialog, with no support for drag & drop or property menus.
CFileDialog dlgFile(TRUE);
dlgFile.m_ofn.Flags &= ~OFN_EXPLORER;
dlgFile.DoModal();
This page describes a way that might work for hiding the a: drive.
Setting up windows to use large fonts might make this all easier to use via a touch screen.
farewell goodnight last one out turn out the lights Smashing Pumpkins, Tales of a Scorched Earth
|
|
|
|
|
Hi everyone, im trying to display an icon within a button so i inserted
the code below:
void CButtonDlg::OnButton1()
{
m_btn1.SetIcon(IDI_ICON1);
}
But it an error occurs : error C2664: 'SetIcon' : cannot convert parameter 1 from 'const int' to 'struct HICON__ *' (new behavior; please see help)
CAN ANYONE HELP ME? THANK YOU IN ADVANCE !
|
|
|
|
|
There are lots of articles in CP about buttons.
Mazy
Don't Marry a Person You Can Live With...
Marry Someone You Can Not Live Without
|
|
|
|
|
SetIcon accepts an HICON (a handle to an icon) rather than a resource identifier. Use AfxGetApp()->LoadIcon(...) to obtain the icon first.
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
Hi,
I've a treeCtrl, with many items in it; i want that some of them have an image and other don't...
but if I don't specify an image, thr ctrl selects the first image in the image list...
I tryed using states instead of images, but only 16 states are allowed, and I need more...
Someone has any idea?
thanks
|
|
|
|
|
Have you tried setting -1 as the nImage index?
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
yes... but it works wrong: if I defined a 32x32 image, it leaves a 32x32 white space...
|
|
|
|
|
I've got a dialog based application and I created my own menu in it. However, if the user does File | Save, it doesnt automatically call the Serialize funtion like an sdi/mdi app would, and i cant find the code where the automation takes place in an sdi/mdi. How do I do it?
-Raffi
The truth about C++
|
|
|
|
|
MSDN
The DECLARE_SERIAL macro is required in the declaration of classes that will support serialization, as shown here:
class CPerson : public CObject
{
DECLARE_SERIAL( CPerson )
};
"An expert is someone who has made all the mistakes in his or her field" - Niels Bohr
|
|
|
|
|
(In VC++ 6) I create a CListCtrl control and want it show a tooltip when user lay the cursor on its each item. So I set the list control style to LVS_EX_TRACKSELECT and define a function to handle the LVN_HOTTRACK notify.
The problem is the program work fine in debug config compile version but got error in release version. The error is come from the LVN_HOTTRACK function. (without it, the program got no error)
Anyone please give me some suggestions.
Thank you.
|
|
|
|
|
Could you please post the code for the LVN_HOTTRACK handler?
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
ON_NOTIFY ( LVN_HOTTRACK, IDC_lstctl_THR, OnHottrackNotify )
...
BOOL CPXP_MainDlg::OnHottrackNotify ( NMLISTVIEW * pNMLV )
{
return (FALSE);
}
(I put only 'return' to test the function, and it comeout fail)
|
|
|
|
|
That routine isn't a notify routine. It doesn't have all the arguments and what arguments it does have are wrong. The proper form is...
afx_msg void memberFxn( NMHDR * pNotifyStruct, LRESULT * result );
Tim Smith
I know what you're thinking punk, you're thinking did he spell check this document? Well, to tell you the truth I kinda forgot myself in all this excitement. But being this here's CodeProject, the most powerful forums in the world and would blow your head clean off, you've got to ask yourself one question, Do I feel lucky? Well do ya punk?
|
|
|
|
|
you make me smarter
thanks.
|
|
|
|
|
How can I simple change the font style of a CEdit? (Maybe without m_Font?)
I tried following, but doesn't work:
void CMyEdit::OnChange()
{
LOGFONT logFont;
CFont *pFont = GetFont();
if(!pFont->GetLogFont(&logFont))
return;
logFont.lfUnderline = m_bShowUnderlined;
if(!m_Font.CreateFontIndirect(&logFont, NULL))
return;
SetFont(&m_Font);
m_Font.DeleteObject();
}
thx
|
|
|
|
|
m_youredit.SetFont(&font)
of cource you have to create CFont object first.But it is very simple.
Mazy
Don't Marry a Person You Can Live With...
Marry Someone You Can Not Live Without
|
|
|
|
|
First off...Why would you change the font in OnChange...?
Unless your trying to syntax hilite your control or something...even still ownerdraw would probably work better.
If you want your edit control to just display it's text in Italics or something...
Change the font in InitDialog or something...previously your font change would occur every time some one presses a key or the contents change...thats a waste of cpu time.
Cheers!
"An expert is someone who has made all the mistakes in his or her field" - Niels Bohr
|
|
|
|
|
This one is driving me nuts. I'm unsure as how to do double buffing with GDI+. I like doing all my drawing in memory then flip it to the screen - with just GDI I could do that with ease. Can someone help me understand this with GDI+ ? How do you switch the two graphics associated with the dc's?
|
|
|
|
|
I have an article about it
Mazy
Don't Marry a Person You Can Live With...
Marry Someone You Can Not Live Without
|
|
|
|
|
Thanks Mazy. It helped me understand it more.
Check this site out when you have a chance. It's about the same thing just a different approach to it. I'm always looking for new information.
http://dogma.net/markn/articles/IPicture/
|
|
|
|
|
i need to search a string for "//password=" and have another string equal what comes after that
so input=gyghgguy gy gyf gfy fy fk u//password=test
pass=test
|
|
|
|
|
If you're using std::string s, then you can call find on input to locate the substring you're looking for (the rest is straightforward).
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
sorry i am not sure how to use std::strings?
|
|
|
|