Hello
- how to change the font and background color of the row caption being focused in the grid's layout view (numer 1 at the screen attached) ? For Windows XP, these colors make the label is almost unreadable
- how to hide a frame that is drawn around the record (numer 2 at the screen attached) ?
I looked at all the properties that seemed to have to deal with these issues.
Disclaimer: The information provided on DevExpress.com and affiliated web properties (including the DevExpress Support Center) is provided "as is" without warranty of any kind. Developer Express Inc disclaims all warranties, either express or implied, including the warranties of merchantability and fitness for a particular purpose. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.
Confidential Information: Developer Express Inc does not wish to receive, will not act to procure, nor will it solicit, confidential or proprietary materials and information from you through the DevExpress Support Center or its web properties. Any and all materials or information divulged during chats, email communications, online discussions, Support Center tickets, or made available to Developer Express Inc in any manner will be deemed NOT to be confidential by Developer Express Inc. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.
Hello Bertrand.
Thank you for your message.
type TcxGridLayoutViewItemViewInfoAccess = class (TcxGridLayoutViewItemViewInfo); procedure <aForm>.<aLayoutView>CustomDrawCell( Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); var AItem: TcxGridLayoutViewItemViewInfoAccess; begin if AViewInfo.Selected and (AViewInfo is TcxGridLayoutViewItemViewInfo)then begin AItem := TcxGridLayoutViewItemViewInfoAccess(AViewInfo); ACanvas.FillRect(AItem.Bounds, clRed); with AItem.LayoutItemViewInfo.CaptionViewInfo do if IsTextVisible then begin ACanvas.DrawTexT(VisibleText, TextAreaBounds, AlignHorz, vaCenter, false, false); end; with AItem.FilterButtonViewInfo do if Visible then Paint(ACanvas); AViewInfo.EditViewInfo.Paint(ACanvas); ADone := true; end; end;
Feel free to contact us if you have any questions.
Best regards,
Ingvar.
Hello Ingvar,
thank you for the example but I wanted to ask if is it possible to get the C++ equivalent ? I'm not a delphi programmer and have a problem with the first line of the code: type TcxGridLayoutViewItemViewInfoAccess = class (TcxGridLayoutViewItemViewInfo);
I tried the following:
class TcxGridLayoutViewItemViewInfoAccess : public TcxGridLayoutViewItemViewInfo
{
public:
inline __fastcall virtual TcxGridLayoutViewItemViewInfoAccess(TcxGridLayoutViewRecordViewInfo* ARecordViewInfo, TcxGridLayoutViewItem* AItem) : TcxGridLayoutViewItemViewInfo(ARecordViewInfo, AItem) { }
inline __fastcall virtual ~TcxGridLayoutViewItemViewInfoAccess(void) { }
__property TcxGridLayoutItemViewInfo* LayoutItemViewInfo = {read=GetLayoutItemViewInfo};
};
…but got the error: E2247 '_fastcall TcxGridLayoutViewItemViewInfo::GetLayoutItemViewInfo()' is not accessible, which makes sense because the GetLayoutItemViewInfo function's declaration is placed inside the private section.
Regarding the second question: is it possible to control the color of the frame ? If so, I could achieve the desired effect by drawing it in the color of the background.
Kind regards,
Bertrand
Hello Bertrand.
Please accept my apologies for this inconvenience. In the attachment, you will find a C++ Builder version of this project. Please examine it and let us know whether or not it helps.
Concerning your second question, I am afraid there is no simple way to accomplish this task. The only possible solution is to use ExpressSkins because this border color is style-dependent.
Best regards,
Ingvar.
Hello Ingvar,
many thanks, it works like I wanted. Now I see my fault: unnecessarily defined TcxGridLayoutViewItemViewInfoAccess's LayoutItemViewInfo property instead of it's redeclaration. Thank you again.
Kind regards,
Bertrand