I have altered a D6 stringgrid to allow for left or right justified checkboxes to be displayed in the grid cells. When the stock inplace editor is called the edit box for receiving data starts at the beginning of the cell and its width covers the entire width of the cell (ie it fills the cell completely covering my checkboxes until repainted). How can I implement my own inplace editor and control the starting location of the editor and its width? Thanks in advance to all. Bill
1
There are 1 best solutions below
Related Questions in DELPHI
- How to not load all database records in my TListbox in Firemonkey Delphi XE8
- How to catch WM_DEVICECHANGE in a control other than TForm?
- show information with Rolling / moving messages delphi xe7
- What is the different between "Console target" and "GUI target" in DCC32 option?
- How to add new online ressources to RAD Studio help system
- C# and Delphi code have different behaviour when importing unmanaged dll
- Loop through records on a cxgrid and update a field/column
- Delphi 7 - Save to a Specific .INI Files Name
- TImagelist for large images
- how to modify a function so it returns an array of strings
- Checking for internet connection in runtime
- How can I make the main form align correctly after my control height is autosized and then I maximize the form?
- fetch data from web service to dataset in Delphi
- Load candlestick data from file
- Infinite loop in parsing a string using pointer math
Related Questions in INPLACE-EDITING
- Read entire file then print when editing inplace?
- Can't edit after erasing all the text in Prototype's inPlaceEditor
- Perl's autosplit function with in place editing
- using inplace-editor with ajax and storing in XMl file in server
- best_in_place is not a function error in Rails 3.2.1
- evalScripts:true does nothing with Ajax inplace editor
- increment a numerical value in a json with jq
- Inplace inside Tree : how to save the modified TreeNode?
- Inline editing of image in Angularjs X-editable
- How to preserve line breaks in Scriptaculous InPlaceEditor?
- Set size of textarea using REST in Place
- delphi stringgrid inplaceedit how to position and width of edit box in a cell that has a left/right justified checkbox
- Usage of Resharper Rename
- Save modifications in place with NON GNU awk
- sed -i command for in-place editing to work with both GNU sed and BSD/OSX
Related Questions in STRINGGRID
- how to fill a stringgrid in delphi between two given numbers
- Delete row in StringGrid- Delphi
- Undeclared 'FormCreate' error Delphi
- Implement Method Gauss Jordan Elimination in Delphi
- Delphi XE5 FireMonkey TstringGrid cells don't accept keyboard input
- Dynamic StringGrid C++ Builder
- Firemonkey C++, how to change font color and cell color in StringGrid, changing in ApplyStyleLookup
- Coloring cells in C++ builder, StringGrid
- Add graphical bar to a StringGrid col
- FMX StringGrid low performance on phone XE5
- Firemonkey StringGrid wont send back data to Snapserver under android
- FMX StringGrid Column Header Background
- how to copy selected data from stringgrid
- Delphi stringgrid TAdvsTringgrid function to disable and reenable mouse clicks
- Resize the columns stringgrid in delphi
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
TStringGriddoes not natively support what you are asking for. The coordinates of the inplace editor are fixed to the entire cell bounds, as it was never designed to take user-defined cell controls into account.When
TStringGridpositions the editor, it callsCellRect()(which is not virtual) and passes the returnedTRecttoTInplaceEdit.Move()(which is not virtual), which callsTInplaceEditor.InternalMove()(which is private) to move the editor HWND to the specified coordinates and size using the Win32 APISetWindowPos()function.The only way you will be able to change that logic is to either:
make a copy of
Grids.pasand alterTStringGrid's source code, then add the modified file to your project (this only works if Runtime Packages are disabled).use a hook/detour to redirect
TInplaceEdit.Move()to a custom method where you can alter the content of theTRectbefore passing it to the original implementation.Update: now that I think more about it, you might be able to derive a class from
TInplaceEditand override its virtualWndProc()method to calculate different position/size information when asked by theWM_GETMINMAXINFOorWM_WINDOWPOSCHANGINGmessage. Or override its virtualBoundsChanged()method to reposition/resize the editor after the grid has positioned/sized the editor where it wants. Either way, you can override the virtualTStringGrid.CreateEditor()method to make the grid create an instance of your editor class.