Building an excel like data grid in a windows application in C++ - c++

I need to create a window application that has an excel grid that users can enter data into, via keyboard or cut and paste. I would like to be able to expand and contract it in both axes on the fly. I'm just starting out programming windows applications, so any pointers to examples or keywords that I can refine my search with, would be extremely helpful.
Thanks,
James

Take a look at The Ultimate Grid. It has lots of features.
EDIT:
It used to be a commercial product, but it was later open sourced

If you are using MFC, take a look at here for data grid control. I've used it several times and it did the job.

Related

Grid view in MFC

I've to create an application which is made up in a tabular way, with rows and columns having cells, in a grid like format. There have to be appropriate cell-level controls as well.
Because of certain constraints, this has to be done in MFC.
I tried searching for something like Grid view/tabular view in MFC, but couldn't locate it. All I managed to get were user developed libraries on other sites, but which I cannot use because of license restrictions.
As a starting point, what should I be looking for? I've worked on Qt before, but not MFC, and am fining it difficult to locate appropriate tutorials regarding grid/tabular view.
Kindly give me a starting point, or a library name for me to start looking into.
Thanks.
Either you use something open source like the ultimate grid or CGridCtrl, or you use a library like BCGSuite. You say 'cannot use because of licence restrictions' but you don't say what you mean. CGridCtrl for example can be used in commercial and free applications. For a high-quality (i.e., with support for modern features like theming), you'll need a commercial library.

Text indexing library in C/C++

I am developing a Windows desktop product which requires text indexing library in C/C++. I would want to give it series of words and a record that needs to be stored against those words. Searching those words should bring back one or more records quickly. Data will be stored on disk.
I have searched this forum and found Lucene. But it is basically Java. There is a CLucene C++ port also. But I am not sure if it is suitable (light weight?) for a small Windows desktop product.
I have found other .net based libraries but not something light weight and for C++.
Can you help please?
Have you considered sqlite? A RDBMS might be a little heavy, but I believe that it is used inside of some web browsers to implement HTML5 "Local Databases".

Creating a moveable and resizeable line in winforms

I want to create a program in which the user has an area where he can take lines which I provide him with (for example three lines) and adjust their sizes and locations to create a small diagram.
How can I do that with winforms?
What classes and properties should I use?
Thanks a lot
Assuming you want a .net solution, have a look at OpenS-CAD,a sample "2D CAD" project for starting. The thing is, it is written in C#, but it will give you the notion of a CAD program.
You can rewrite it with C++/Cli, and also some parts of it with native C++.
I understand from your question, that you want to give users ability to adjust the size and locations ( similar to anchors in Powerpoint and several other products ) and let him/her draw a figure out of that.
You need to use the graphics functions in that case, though some of your work like resizing might need usage of ovveriding DragDrop method too.
Here is an sample http://www.yevol.com/en/vcsharp/applicationdesign/Lesson14.htm , that might be of help to you.

'Field Scraping' in Windows

I want to develop an auditing application for certain Windows applications. I want to grab the text from MessageBoxes, Windows, Forms, Selections etc and ideally I would like to program in C++.
I've looked into Windows UI Automation as a possible solution, but am slightly put off as it says it will need to know parts of the underlying data structures which I can't get at. Alternatively, I've looked around and Neo's SafeKeys says that it protects against 'field scraping', but upon searching for it I can't find any information on how it is done. Could someone with experience with this please enlighten me? I'm aware you can scrape websites and the like, but I wish to scrape applications instead.
Any help would be greatly appreciated.
Look into using the accessibility layer, MSAA
I presume they are talking about doing a lot of EnumChildWindows() and GetWindowText().
A simple way of doing this without going near any data structures is to use Abbyy's OCR SDK http://www.abbyy.com/ocr_sdk/ to emulate in an application what their amazing Screenshot reader does. http://www.abbyy.com/screenshot_reader/ . With this technology, nothing you can read on the screen is safe from being captured as text, though it makes a mess of the odd character occasionally.

Is it possible to edit data in place using CListCtrl - if not, can anyone suggest an alternative control in MFC?

I'm designing a MFC app in which I'd like to have a grid with 2 coloumns : both editable in which the user will input data and the app will get notified about it. The number of rows can be increased/decreased by the user as he wants - What would be the ideal MFC control to use for this kind of requirement ?
This is my first time designing a MFC app , so dont mind if it sounds too noobish :)
It's not a noobish question. Actually you have encountered a problem which bugs every MFC developer since 15 years: The MFC library does not have a built-in Grid Control. And a kind of Grid Control is what you are looking for, I guess. As far as I'm aware of, it is not possible to edit two columns in a CListCtrl. Only the first column, the "Label", can be edited.
For a Grid control you have to look for appropriate Third-Party tools which can be added to your projects, for instance as ActiveX controls. (I remember that the old Visual Studio 6 came with an "MS FlexGrid" which you could add with the component gallery to the project, but I've never worked with it, so I don't know if it's a good choice. But perhaps enough for your purpose.) Most third-party Grid controls require license fees but here is one (quite powerful) grid for free (at least free of fees but not of a license):
http://www.codeproject.com/KB/miscctrl/gridctrl.aspx
(or google by "MFC Grid Control" or something like that. I think there will be more free grids.)