Professional UI Solutions
Site Map   /  Register
 
 

Forum

Please Log In to post a new message or reply to an existing one. If you are not registered, please register.

NOTE: Some forums may be read-only if you are not currently subscribed to our technical support services.

Forums » Prof-UIS Tech Support » Several questions Collapse All
Subject Author Date
Adrian M Oct 11, 2007 - 5:25 AM

1. How to make the CExtGroupBox text use the same color as the bar (like in the Controls sample). My CExtGroupBox controls have the text black.
2. Is the CExtGridWnd control suited for many rows, on the order of thousands? Will it be resposive when scrolling up/down, or when adding new rows and populating them? Some of the rows (few of them) will have the progress control activated in one column.
3. Is it possible to use the same progress control from the CExtGridWnd outside of the grid, instead of the default CProgressCtrl for example? Or in general, is it possible to use some of the controls demoed with the grid outside of the grid?
4. Is it possible to link a dll with the static version of the prof-uis libraries?
5. How to change the text size of a CExtLabel?
6. How to do a search on the forums for "all words". I tried AND but it didn’t seem to work - all queries seem to use OR by default, which means many irrelevant posts.

Thanks,

Adrian

Technical Support Oct 11, 2007 - 10:45 AM

1. To show a caption in the group box, set the CExtGroupBox::STYLE_CAPTION style for it

m_wndGroupBox.SetStyle( CExtGroupBox::STYLE_CAPTION );
2. Scrolling an unlimited data source is not a problem. This is fully supported in the Prof-UIS grid. You need to use a virtual grid. The solution is based on coding a CExtGridDataProviderRecordSet-derived class and implementing all its abstract methods. The cacheable and virtual grid windows are demonstrated in the AdoRecordsetView sample. Open the recordset options dialog and specify database connection settings and an SQL Query. Now you can click OK to see the results in the grid window. There is a check box in the recordset options dialog: Use Virtual Mode. If it is checked, the data is displayed in the virtual mode. If unchecked, a simple cacheable mode is used instead. In fact, both modes are based on caching. This means the grid window keeps only data records which are visible on the screen. But simple cacheable mode is based on a database recordset with a known number of rows in the query result and you can see the vertical scrollbar that is working classically. The virtual mode is based on a recordset with an unknown number of rows. The vertical scrollbar in the virtual mode can have only three states: top, middle and bottom. The virtual database recordset knows only the current record position and whether the current record at this position is the first and/or last record in the returned table. This explains the meaning of the grid virtual mode and the behavior of the scroll bar in this mode. The virtual mode can be used if the data base API supports only this kind of recordset or if you have a very large scrollable data range which often becomes updated dynamically. The Prof-UIS grid window supports the cacheable and/or virtual scrolling strategies in both horizontal and vertical directions even at the same time.

3. Actually any grid cell is windowless controls. It cannot be used as a standalone controls. But there is a trick when you can create a grid window with one column and one row without outer grid headers. So you will get only one cell. After that just resize the grid window so that it has the very same size as this cell. Note you need to use the CExtGridWnd::GridCellRectsGet() method to retrieve the cell’s rectangle. As a result you will visually see the control based on a grid cell. As for the progress bar you can use the CExtProgressWnd control which is a skinned version of the progress common control so it does not introduce any new features but the skinned look.

4. What the dll you want to link with? Your question is not clear. Please give us more information on this.

5. You should change the font size by creating a new font with an appropriate size and assign it to the label using the SetFont() method

6. Please try quotation marks. For example,

"MFC control bar"