Create  Edit  Diff  Phillro Industries  Index  Search  Changes  History  Source  RSS  Note  wikifarm  Login

RDB:DBGrid

Phi::DBGrid

super class

Phi::CustomGrid

class methods

new : DBGrid

instance methods

mouse_coord(x,y)

画面座標値(通常はマウスの位置)を x,y で受け取って、その点を含むグリッドのセルの行(col)と列(row)を配列にして返す。

properties

event handlers

on_draw_column_cell(rect, col, column, state)

draw_column_cell event は, grid が cell を描画しなければならないときに発生します。

rect
Phi::Rect: cell の canvas 上の位置
col
Fixnum: 列の columns 配列におけるインデックス
column
Column: cell の表示属性と項目 binding を表す Column Object
state
Fixnum: RDB_const?#GridDrawState?
  • cell に入力 focus があるか
  • cell が選択されているか
  • cell が列 header などの固定 ( データ以外 ) cell か

cell data にカスタマイズされた描画方法を提供するために on_draw_column_cell event handler を作成してください。 DBGrid#canvas のメソッドを使って cell に描画できます。

on_draw_column_cell event handler は, DBGrid#default_draw_column_cell を呼び出して, cell に data を書き込むよう grid に指示することができます。また, DBGrid#default_draw_column_cell を強化して,選択状態と focus を視覚的に示すことができます。 DBGrid#default_drawing が true の場合, draw_column_cell event 発生前に data はすでに cell に描画されており,また draw_column_cell event 発生後には選択された cell に長方形の focus 領域が描画されます。


以下のリストは ap_src_maker で大量に追加した後のものなので、使えないものも混じっています。また、まだコミットされていません。2006-06-23(金)

require "phi"
require "rdb"
require "methods_for_wiki"
puts Phi::DBGrid.methods_for_wiki

_dump => Phi::Component#_dump

acquire_layout_lock

Layout 関係は使えないのではないか?

action => Phi::Control#action

action= => Phi::Control#action=

action_change => Phi::WinControl#action_change

adjust_client_rect => Phi::WinControl#adjust_client_rect

adjust_size => Phi::WinControl#adjust_size

adjusted_client_rect => Phi::WinControl#adjusted_client_rect

align => Phi::Control#align

align= => Phi::Control#align=

align_controls => Phi::WinControl#align_controls

align_disabled => Phi::WinControl#align_disabled

align_disabled? => Phi::WinControl#align_disabled?

anchors

anchors=

anchors は上位クラスのものと同じはずだが・・。

assign_to => Phi::WinControl#assign_to

begin_drag => Phi::Control#begin_drag

begin_layout

begin_update

begin_update 〜 end_update の間でのデータ処理は表示に反映されないはず。データを大量に操作するときに、表示を停止して高速に行うことが出来るようになるはず。ですが、まだ試していません。Delphi では protected になっていますので、何か問題があるのかもしれません。

bevel_width => Phi::WinControl#bevel_width

bevel_width= => Phi::WinControl#bevel_width=

bi_di_mode

bi_di_mode=

border_style => Phi::CustomGrid#border_style

border_width => Phi::WinControl#border_width

border_width= => Phi::WinControl#border_width=

bottom => Phi::Control#bottom

bottom= => Phi::Control#bottom=

box_rect => Phi::CustomGrid#box_rect

ソース(C:/PROGRA~1/Borland/Delphi6/Source/Vcl/Grids.pas)によると、

function TCustomGrid.BoxRect(ALeft, ATop, ARight, ABottom: Longint): TRect;
function TCustomGrid.CellRect(ACol, ARow: Longint): TRect;
begin
  Result := BoxRect(ACol, ARow, ACol, ARow);
end;

なので、左カラム、上行、右カラム、下行を指定すると、その範囲のrectを返すらしい。

bring_to_front => Phi::Control#bring_to_front

calc_title_rect

function DBGrid_calc_title_rect(This, Col, ARow, MasterCol? : Tvalue): Tvalue; cdecl;

can_auto_size => Phi::WinControl#can_auto_size

can_focus => Phi::WinControl#can_focus

can_resize => Phi::WinControl#can_resize

cancel_layout

layout って何のことなのだろう?

canvas

cell_rect => Phi::CustomGrid#cell_rect

CustomGrid?#cell_rect( col, row ): Rect

なんで、こんなに便利そうなメソッドがDelphiではprotectedなのだろう?

change_grid_orientation => Phi::CustomGrid#change_grid_orientation

procedure ChangeGridOrientation(RightToLeftOrientation: Boolean);

右から左へのグリッドが作れるのだろうか?

change_scale => Phi::WinControl#change_scale

client_origin => Phi::WinControl#client_origin

client_rect => Phi::WinControl#client_rect

client_to_screen => Phi::Control#client_to_screen

col => Phi::CustomGrid#col

col= => Phi::CustomGrid#col=

col_count => Phi::CustomGrid#col_count

col_count= => Phi::CustomGrid#col_count=

カラム数。

  1. indicator がある場合・・
  2. indicator がない場合・・

カラムが隠れている場合でも全体のカラム数を返す。

表示されているカラム数は visible_col_count

col_widths => Phi::CustomGrid#col_widths

それぞれのカラムの幅の配列を返す。

color

color=

xx(何?)の色。

column_at_depth

function TCustomDBGrid.ColumnAtDepth(Col: TColumn; ADepth: Integer): TColumn;
begin
  Result := Col;
  while (Result <> nil) and (Result.Depth > ADepth) do
    Result := Result.ParentColumn;
end;

なので、引数の Column オブジェクトの ParentColumn? をたどっていくらしい。

column_moved

これは上書き用だろう。たぶん、廃止する。

columns

columns=

Column オブジェクトの配列だろう。

component_count => Phi::Component#component_count

components => Phi::Component#components

constrained_resize => Phi::WinControl#constrained_resize

constraints

constraints=

contains_control => Phi::WinControl#contains_control

control_at => Phi::WinControl#control_at

control_at_pos => Phi::WinControl#control_at_pos

control_count => Phi::WinControl#control_count

control_extents => Phi::WinControl#control_extents

control_state => Phi::Control#control_state

control_state= => Phi::Control#control_state=

control_style => Phi::Control#control_style

control_style= => Phi::Control#control_style=

controls => Phi::WinControl#controls

controls_aligned => Phi::WinControl#controls_aligned

create_handle => Phi::WinControl#create_handle

create_wnd => Phi::WinControl#create_wnd

ctl3d => Phi::WinControl#ctl3d

ctl3d= => Phi::WinControl#ctl3d=

ctl3d? => Phi::WinControl#ctl3d?

cursor => Phi::Control#cursor

cursor= => Phi::Control#cursor=

custom_align_insert_before => Phi::WinControl#custom_align_insert_before

data_source

data_source=

表示するデータの DataSrouce? オブジェクトを入れる。

data_source = Phi::DataSource.new(dataset)
grid.data_source = data_source

でもよい。データソースオブジェクトによって、データの行数などを調べることができる。(独立させなくても grid.data_source を使えばOK)。

data_to_raw_column

function TCustomDBGrid.DataToRawColumn(ACol: Integer): Integer;
begin
  Result := ACol + FIndicatorOffset;
end;

なので、インディケータが表示されている場合には「引数+1」、表示されていなければ引数の値そのままを返すものらしい。

def_wnd_proc= => Phi::WinControl#def_wnd_proc=

default_col_width => Phi::CustomGrid#default_col_width

default_col_width= => Phi::CustomGrid#default_col_width=

DBGridでは意味がないか?

default_drawing => Phi::CustomGrid#default_drawing

default_drawing= => Phi::CustomGrid#default_drawing=

default_drawing? => Phi::CustomGrid#default_drawing?

DBGridでは意味がないか?

default_row_height => Phi::CustomGrid#default_row_height

default_row_height= => Phi::CustomGrid#default_row_height=

DBGridでは意味がないか?

defer_layout

defer というのは「・・に従う」という意味らしい。「レイアウトに従う」という意味。データが長すぎても伸ばさない、短すぎても短縮しない、という意味か?

よくわからないので廃止するかも。

define_field_map

これは上書き用だろう、廃止予定。

define_properties => Phi::WinControl#define_properties

delete_column => Phi::CustomGrid#delete_column

delete_row => Phi::CustomGrid#delete_row

削除できるのか?

destroy_handle => Phi::WinControl#destroy_handle

destroy_window_handle => Phi::WinControl#destroy_window_handle

destroy_wnd => Phi::WinControl#destroy_wnd

device_context => Phi::WinControl#device_context

disable_align => Phi::WinControl#disable_align

do_exit => Phi::CustomGrid#do_exit

上書き用だろう。削除予定。

dock_client_count => Phi::WinControl#dock_client_count

dock_drop => Phi::WinControl#dock_drop

dock_site => Phi::WinControl#dock_site

dock_site= => Phi::WinControl#dock_site=

dock_site? => Phi::WinControl#dock_site?

double_buffered => Phi::WinControl#double_buffered

double_buffered= => Phi::WinControl#double_buffered=

drag_cursor

drag_cursor=

drag_kind

drag_kind=

drag_mode

drag_mode=

editor_mode => Phi::CustomGrid#editor_mode

editor_mode= => Phi::CustomGrid#editor_mode=

editor_mode? => Phi::CustomGrid#editor_mode?

enable_align => Phi::WinControl#enable_align

enabled

enabled=

enabled?

end_layout

end_update

event_handle

execute_action

extend => Phi::Persistent#extend

field_count

fields

find_child_control => Phi::WinControl#find_child_control

find_next_control => Phi::WinControl#find_next_control

fixed_color => Phi::CustomGrid#fixed_color

fixed_cols => Phi::CustomGrid#fixed_cols

fixed_cols= => Phi::CustomGrid#fixed_cols=

fixed_rows => Phi::CustomGrid#fixed_rows

fixed_rows= => Phi::CustomGrid#fixed_rows=

fixup_tab_list => Phi::WinControl#fixup_tab_list

flip_children => Phi::WinControl#flip_children

focus_cell => Phi::CustomGrid#focus_cell

focused => Phi::WinControl#focused

focused? => Phi::WinControl#focused?

font

font=

get_col_field

get_field_value

grid_height => Phi::CustomGrid#grid_height

grid_line_width => Phi::CustomGrid#grid_line_width

grid_line_width= => Phi::CustomGrid#grid_line_width=

grid_width => Phi::CustomGrid#grid_width

handle => Phi::Control#handle

handle_allocated => Phi::WinControl#handle_allocated

handle_needed => Phi::WinControl#handle_needed

height => Phi::Control#height

height= => Phi::Control#height=

help_context => Phi::Control#help_context

help_context= => Phi::Control#help_context=

help_keyword => Phi::Control#help_keyword

help_keyword= => Phi::Control#help_keyword=

help_type => Phi::Control#help_type

help_type= => Phi::Control#help_type=

hide => Phi::Control#hide

hide_edit => Phi::CustomGrid#hide_edit

hide_editor => Phi::CustomGrid#hide_editor

hint => Phi::Control#hint

hint= => Phi::Control#hint=

ime_mode => Phi::WinControl#ime_mode

ime_mode= => Phi::WinControl#ime_mode=

ime_name => Phi::WinControl#ime_name

ime_name= => Phi::WinControl#ime_name=

indicator_offset

insert_control => Phi::WinControl#insert_control

invalidate => Phi::Control#invalidate

invalidate_cell => Phi::CustomGrid#invalidate_cell

invalidate_col => Phi::CustomGrid#invalidate_col

invalidate_editor => Phi::CustomGrid#invalidate_editor

invalidate_grid => Phi::CustomGrid#invalidate_grid

invalidate_row => Phi::CustomGrid#invalidate_row

invalidate_titles

key_press => Phi::WinControl#key_press

layout_changed

layout_lock

left => Phi::Control#left

left= => Phi::Control#left=

left_col => Phi::CustomGrid#left_col

left_col= => Phi::CustomGrid#left_col=

link_active

loaded

mouse_coord => Phi::CustomGrid#mouse_coord

move_col_row => Phi::CustomGrid#move_col_row

move_column => Phi::CustomGrid#move_column

move_row => Phi::CustomGrid#move_row

name => Phi::Control#name

name= => Phi::Control#name=

on_cell_click

on_cell_click=

on_col_enter

on_col_enter=

on_col_exit

on_col_exit=

on_column_moved

on_column_moved=

on_context_popup => Phi::Control#on_context_popup

on_context_popup= => Phi::Control#on_context_popup=

on_dbl_click

on_dbl_click=

on_drag_drop

on_drag_drop=

on_drag_over

on_drag_over=

on_draw_column_cell

on_draw_column_cell=

on_draw_data_cell

on_draw_data_cell=

on_edit_button_click

on_edit_button_click=

on_end_dock

on_end_dock=

on_end_drag

on_end_drag=

on_enter

on_enter=

on_exit

on_exit=

on_key_down

on_key_down=

on_key_press

on_key_press=

on_key_up

on_key_up=

on_mouse_down

on_mouse_down=

on_mouse_move

on_mouse_move=

on_mouse_up

on_mouse_up=

on_mouse_wheel

on_mouse_wheel=

on_mouse_wheel_down

on_mouse_wheel_down=

on_mouse_wheel_up

on_mouse_wheel_up=

on_start_dock

on_start_dock=

on_start_drag

on_start_drag=

on_title_click

on_title_click=

options

options=

paint_controls => Phi::WinControl#paint_controls

paint_window => Phi::WinControl#paint_window

palette_changed => Phi::WinControl#palette_changed

parent => Phi::Control#parent

parent= => Phi::Control#parent=

parent_bi_di_mode

parent_bi_di_mode=

parent_bi_di_mode?

parent_color

parent_color=

parent_color?

parent_ctl3d => Phi::WinControl#parent_ctl3d

parent_ctl3d= => Phi::WinControl#parent_ctl3d=

parent_ctl3d? => Phi::WinControl#parent_ctl3d?

parent_font

parent_font=

parent_font?

parent_form => Phi::Control#parent_form

parent_handle => Phi::WinControl#parent_handle

parent_show_hint

parent_show_hint=

parent_show_hint?

parent_window => Phi::WinControl#parent_window

parent_window= => Phi::WinControl#parent_window=

perform => Phi::Control#perform

popup_menu

popup_menu=

prop_info => Phi::Component#prop_info

raw_to_data_column

read_only

read_only=

read_only?

read_state => Phi::WinControl#read_state

realign => Phi::WinControl#realign

recreate_wnd => Phi::WinControl#recreate_wnd

rect => Phi::Control#rect

rect= => Phi::Control#rect=

refresh => Phi::Control#refresh

reload_docked_control => Phi::WinControl#reload_docked_control

remove_control => Phi::WinControl#remove_control

repaint => Phi::Control#repaint

reset_ime => Phi::WinControl#reset_ime

right => Phi::Control#right

right= => Phi::Control#right=

row => Phi::CustomGrid#row

row= => Phi::CustomGrid#row=

row_count => Phi::CustomGrid#row_count

row_count= => Phi::CustomGrid#row_count=

row_heights => Phi::CustomGrid#row_heights

scale_by => Phi::WinControl#scale_by

scale_controls => Phi::WinControl#scale_controls

screen_to_client => Phi::Control#screen_to_client

scroll

scroll_bars => Phi::CustomGrid#scroll_bars

scroll_by => Phi::WinControl#scroll_by

scroll_data => Phi::CustomGrid#scroll_data

select_cell => Phi::CustomGrid#select_cell

select_first => Phi::WinControl#select_first

select_next => Phi::WinControl#select_next

selected_field

selected_index

selected_index=

send_to_back => Phi::Control#send_to_back

set_bounds => Phi::Control#set_bounds

set_child_order => Phi::WinControl#set_child_order

set_column_attributes

set_edit_text

set_focus => Phi::WinControl#set_focus

set_ime => Phi::WinControl#set_ime

set_z_order => Phi::WinControl#set_z_order

show => Phi::Control#show

show_control => Phi::WinControl#show_control

show_editor => Phi::CustomGrid#show_editor

show_editor_char => Phi::CustomGrid#show_editor_char

show_hint

show_hint=

show_hint?

showing => Phi::WinControl#showing

showing? => Phi::WinControl#showing?

site_info => Phi::WinControl#site_info

sizing => Phi::CustomGrid#sizing

stop_align => Phi::WinControl#stop_align

store_columns

tab_order

tab_order=

tab_order_list => Phi::WinControl#tab_order_list

tab_stop => Phi::WinControl#tab_stop

tab_stop= => Phi::WinControl#tab_stop=

tab_stop? => Phi::WinControl#tab_stop?

tab_stops => Phi::CustomGrid#tab_stops

title_font

title_font=

top => Phi::Control#top

top= => Phi::Control#top=

top_parent_handle => Phi::WinControl#top_parent_handle

top_row => Phi::CustomGrid#top_row

top_row= => Phi::CustomGrid#top_row=

update => Phi::Control#update

update_action

update_control_state => Phi::WinControl#update_control_state

update_designer => http://tmsudg.com/

update_lock

use_dock_manager => Phi::WinControl#use_dock_manager

use_dock_manager= => Phi::WinControl#use_dock_manager=

use_dock_manager? => Phi::WinControl#use_dock_manager?

use_right_to_left_alignment_for_field

valid_field_index

visible

visible=

visible?

visible_col_count => Phi::CustomGrid#visible_col_count

visible_dock_client_count => Phi::WinControl#visible_dock_client_count

visible_row_count => Phi::CustomGrid#visible_row_count

width => Phi::Control#width

width= => Phi::Control#width=

window_handle => Phi::WinControl#window_handle

window_handle= => Phi::WinControl#window_handle=

write_res_file => Phi::Component#write_res_file

Last modified:2006/06/23 16:41:51
Keyword(s):
References:[ext-rdb-RDB-DBGrid]