定义了个函数,功能基本与cxDBImagecombobox原功能类似,但在调用该函数时,现在返回的文字是靠cxDBImagecombobox的右边,不像原控件功能返回值时靠左放置。所以想问下这个控件的文字摆放位置(靠左或靠右)能否自己设置?谢谢了~~
说的比较乱,可忽视前面的东西,直接看问题...

解决方案 »

  1.   

     /// <summary>
    ///
    /// </summary>
    /// <param name="Handle">控件句柄 </param>
    /// <param name="Value">TAlignment类型的值 </param>
    procedure SetAlignment(const Handle: THandle; const Value: TAlignment);
    var
      style: DWORD;
    begin
      if FAlignment <> Value then
      begin FAlignment := Value;
        Style := GetWindowLong(Handle, GWL_STYLE);
        style := style and (not ES_LEFT) and (not ES_CENTER) and (not ES_RIGHT);
        case FAlignment of
          taLeftJustify: SetWindowLong(Handle, GWL_STYLE, style or ES_LEFT);
          taRightJustify: SetWindowLong(Handle, GWL_STYLE, style or ES_RIGHT);
          taCenter: SetWindowLong(Handle, GWL_STYLE, style or ES_CENTER);
        end;
        Invalidate;
      end;
    end;